Hirdetés
- Vezeték nélküli fülhallgatók
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Egy tápkábel négy vezetékét elvágva is működik a GeForce RTX 5090
- Milyen belső merevlemezt vegyek?
- Milyen monitort vegyek?
- Vezetékes FEJhallgatók
- Nvidia GPU-k jövője - amit tudni vélünk
- Milyen billentyűzetet vegyek?
- Gaming notebook topik
-
PROHARDVER!
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
lenkei83
tag
Sziasztok!
Látott már valaki olyan error handlinget ami külön fileba vagy külön munkalapra logolja a hibás sorokat eljárásonként, és ha valamelyik sor hibás akkor debug nincs csak logba írás?
Létezhet ilyen egyáltalán?Üdv.:
P. -
menledge
senior tag
Sziasztok!
SOS-ben szükségem lenne segítségre!
Tud olyat az excel, hogy egy számsorból kihoz két különböző összeget? vagy akár egyet?
Nem biztos, hogy érthetően fogalmazok, megpróbálom érthetően leírni. Mondjuk vannak számok 1-100-ig
és én pl. azt szeretném, hogy az 56-ot hozza ki egyes számokból.Remélem tud valaki segíteni!
Előre is köszönök bármilyen ötletet!
Üdv!
-
Delila_1
veterán
válasz
alevan #31785 üzenetére
Van itt 3 makró.
Sub Gyujtes()
Dim lap As Integer, usor As Long
Sheets(1).Range("N:Q") = ""
'Címsor az első lapon az N1:Q1-be
Sheets(1).Range("N1:Q1") = Sheets(1).Range("A1:D1").Value
For lap = 1 To Worksheets.Count 'Lapok tartalma az első lapra
usor = Sheets(1).Range("N" & Rows.Count).End(xlUp).Row + 1
Sheets(lap).Range("A1").CurrentRegion.Offset(1).Copy Sheets(1).Range("N" & usor)
Next
Rendez
End SubSub Rendez()
Dim usor As Long
Sheets(1).Select
usor = Range("N" & Rows.Count).End(xlUp).Row
Range("N1").CurrentRegion.Select
ActiveWorkbook.Sheets(1).Sort.SortFields.Clear
ActiveWorkbook.Sheets(1).Sort.SortFields.Add Key:=Range("N2:N" & usor), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(1).Sort
.SetRange Range("N1:Q" & usor)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Fajlokba usor
End SubSub Fajlokba(usor)
Dim utvonal As String, elso As Long, ucso As Long, nev As String
utvonal = "D:\Mentés\" '*** Ezt írd át! **************
elso = 2: ucso = 2: nev = Sheets(1).Range("N2")
Do
nev = Sheets(1).Cells(elso, "N")
If nev = "" Then Exit Do
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = nev
Range("A1:D1") = Sheets(1).Range("A1:D1").Value 'Címsor az új füzetbe
ucso = Application.Match(nev, Sheets(1).Columns(14), 1)
Sheets(1).Range("N" & elso & ":Q" & ucso).Copy Sheets(nev).Range("A2")
ActiveSheet.Move
ActiveWorkbook.SaveAs Filename:=utvonal & nev & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
elso = ucso + 1
Loop
Sheets(1).Select
MsgBox "Kész", vbInformation
End SubA harmadikban írt át a csillagokkal jelzett sorban az útvonalat.
Az első makrót (Gyujtes) kell indítanod, az majd hívja a másik kettőt.
Az első lap N:Q oszlopába összegyűjti a többi lap adatait, rendezi a nevek szerint, majd új lapra másolja egyenként a nevekhez tartozó sorokat. Ezt az új lapot áthelyezi egy új fájlba, és menti a megadott névvel, majd be is zárja. -
bteebi
veterán
válasz
bteebi #31761 üzenetére
Sziasztok!
Végül sikerült megoldanom
. Megosztom, hátha valakinek jó lesz ötletet nyerni.
Sub szamkereso()
Dim azonosito As Long, elso As Long, pageno As Integer, file As Variant
azonosito = ActiveSheet.Range("A1")
file = Dir("D:\proba\" & "*.pdf")
Do While (file <> "")
If Mid(file, 5, 6) < azonosito And Mid(file, InStrRev(file, "szam") + 4, 6) > azonosito Then
elso = Mid(file, 5, 6)
pageno = 1 + Int((azonosito - elso) / 10)
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate ("D:\proba\" & file & "#page=" & pageno)
Set IE = Nothing
End If
file = Dir()
Loop
End SubEgy apróságot leszámítva tökéletesen működik - ez pedig az adott oldalszámra ugrás. Úgy tűnik, hogy 1.4-es és 1.5-ös verziójú pdf-ekkel működik, de az 1.6-tal már nem (nem ugrik arra az oldalra, amelyikre kellene, csak az első oldalt nyitja meg). Van arra ötletetek, hogy miért lehet ez, vagy hogy át lehet-e valahogy állítani? Igazából az a kérdés, hogy ez szkennelési beállítástól függ(het)-e, vagy pedig a pdf verziójától?
-
alevan
őstag
válasz
DeFranco #31783 üzenetére
60 sheet és jelenleg még csak 4000 sor.
Migrálunk excelből más rendszerbe, és így kérik (persze nekem kell megcsinálni...). Úgy is jó, ha 12000 sheet helyett 12000 fájl a végeredmény (sőt, elvileg így még jobb).
Nekem az is jó lenne, ha a 60 sheetből a 60 sort egy 61. sheetbe másolja, és én onnan mentem manuálisan. Sőt, így még jobb lenne, mert így is úgy is át kell nézzük mindet egyenként hibakeresés miatt, onnan már egy más fájlba mentés egy másodperc.
-
moklys1
aktív tag
Köszi, igen ezt tudtam, csak tegnap amikor csináltam, csak az "A" oszlopot jelöltem ki és akkor tolja a többi adatot törléskor. Lényeg az, h nem kell kijelölni semmit, hanem már maga a funkció kiválasztásánál kell kivenni a pipákat azokból az oszlopokból amiket nem szeretnék, h figyelembe vegyen.
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz
alevan #31779 üzenetére
a legyűjtés nem para, azt megcsinálod egy indirektbe ágyazott fkeressel akár, viszont ha minden sornak egyedi munkalapot kell csinálni, akkor az több ezer sornál egyrészt abnormálisan sok munkalap, másrészt kézzel kivitelezhetetlen.
a példa jó, de a konkrét feladat méretéről tudnál írni valami konkrétabbat?
[ Szerkesztve ]
-
alevan
őstag
Sziasztok. Lenne egy excel fájlom 50+ munkalappal és minden munkalap több ezer sorral. Az lenne a feladatom, hogy megfordítsam az adatokat:
Minden sheetből egy adott sort (pl. a 1125. sor) egy másik fájlban egymás alá kel tegyek.
Egy nagyon hülye példa:
És ez az eredmény lenne számomra fontos:
-
Dr V
őstag
Sziasztok!
Van két cellám. Az egyikbe beírok egy számot 1-10ig. A másik cellbában szerepelnek a számok 1-10ig.
Egy olyan függvényre lenne szükségem, ami egy harmadik cellába beírja a második cella alapján az első cellában megadott számot. Ha a második cellába nem szerepel a megadott szám, akkor oda ne másoljon semmit. Melyik függévnnyel lehetne ezt megoldani? Esetleg makró lenne a megoldás? Utóbbi sajnos számomra kínai. -
bara17
tag
Sziasztok!
Lehetséges a 2010-es Excelben az, hogy vonaldiagramban egérrel arrébb húzom az adatsort és vele együtt változnak az adatsor értékei, tehát nem kéne kézzel áírnom az adatokat hanem elég lenne mozgatni a görbét.
Köszönöm a segítséget.
-
Dr V
őstag
Sziasztok!
Az egyik excel fájlom meghalt, ha megnyitom egyből le is fagy. Szerencsére van belőle másolatom, viszont az eredeti fájlban van kb 5 sor egyszerű szöveg, amire nagy szükségem lenne.
Hogyan tudnám kibányászni azt a néhány sort a hibás fájlomból? -
Cece04
tag
Sziasztok,
segítsetek kérlek, mert nem jutok egyről a kettőre sehogy sem
van egy adott dátumom ebben a formátumban :
yyyy.mm.dd ,2016.06.11ezt szeretném ilyenre átalakítani: dd/mm/yyyy , azaz 11/06/2016.
Próbáltam úgy, hogy lecserélem a pontot semmire és az így kapott
20160611-et text to columns-ban az áhított formátumra váltani,
de nem történik semmi.Nem tudom mi lehet a gond, segítsetek kérlek, ha van ötlet.
-
Delila_1
veterán
válasz
lenkei83 #31766 üzenetére
A felső makróban az összes lapot felszabadítod, majd 2 lapnál beállítod az autoszűrőt, és ismét minden lapot levédesz. Elég lenne egyenként a 2 laphoz beállítani a makróból módosítást, és végrehajtani a szűrő beállítását.
A 2. makró első sora is legyen
ActiveSheet.Protect UserInterfaceOnly:=True
. -
lenkei83
tag
válasz
Delila_1 #31765 üzenetére
Jaa oké. Ezt így értem. A kérdés arra irányult, hogy ha nincs password akkor a userinterface..True sem működik? A gondom az, hogy a kódban amit lentebb bemásoltam,ott van a userinterface True, és ennek ellenére sem frissül magától a fül.
Van egy ilyenem:
Private Sub Workbook_Open()
Dim ws As Worksheet
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each ws In Worksheets
ws.unprotect
Next
Munka2.AutoFilterMode = False
Munka3.AutoFilterMode = False
Munka2.Range("A5:Y" & Munka2.Range("A5").End(xlDown).Row).AutoFilter
Munka3.Range("A1:D" & Munka2.Range("A1").End(xlDown).Row).AutoFilter
Range("year").Locked = False
Range("month").Locked = False
For Each ws In Worksheets
ws.protect UserInterfaceOnly:=True, AllowFormattingCells:=True, AllowFiltering:=True, DrawingObjects:=True, contents:=True ', AllowUsingPivotTables:=True
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
UserForm10.Show
End SubMajd egy ilyenem a frissítendő munkalapon, ahol egy sima pivot van:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
ThisWorkbook.RefreshAll
Application.ScreenUpdating = True
End SubEbben az összefüggésben merü fel az a gond, hogy ha zárolva van a munkalap akkor nem frissül a pivot.
-
-
lenkei83
tag
Sziasztok!
Le van védve egy munkalap, amint pivot van.
ws.protect AllowFormattingCells:=True, AllowFiltering:=True, UserInterfaceOnly:=True, DrawingObjects:=True
A pivot munkalaphoz ez van hozzárendelve:
Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
End SubEz alapján mindig frissülnie kellene amikor rámegyek a munkalapra, viszont csak akkor frissül ha a munkalap nincs zárolva. Jelenlegi tudásom szerint a UserInterfaceOnly meg kellene hogy oldja ezt a problémát, de talán mégsem..?
Van valakinek rá ötlete?
üdv
P.[ Szerkesztve ]
-
bteebi
veterán
válasz
bteebi #31760 üzenetére
Közben jobb esetben már közeledek a megoldáshoz, bár majd csak holnap fogom tudni tesztelni.
While (file <> "")
If Mid(file, 5, 6) < azonosito And Mid(file, InStrRev(file, "szam") + 4, 6) Then
elso = Mid(file, 5, 6)
pageno = 1 + Int((azonosito - elso) / 10)
End If
file = Dir
Wend -
bteebi
veterán
válasz
bteebi #31759 üzenetére
Kicsit megviccelt az oldal meg a laptopom, de végre eljutottam oda, hogy megírjam azt, amit eredetileg is szerettem volna. Szóval egy adott listaelemet szeretnék megtalálni egy adott mappában lévő pdf file-ok között. A listaelemre (általános formája: szam123456) az A1-es cellában keresek rá, majd azt szeretném, hogy a makró megkeresse azt a pdf file-t a mappában, amelyik tartalmazza ezt az elemet. Van egy fix elérési útvonal (a példában a D:\Minta\ mappa), amiben különböző hosszúságú szkennelt pdf-ek vannak. A pdf file-ok elnevezése nagyjából
egységes. Az fix bennük, hogy tartalmaznak két számot, az első és az utolsó szkennelt elem értékét (pl. "szam123451-szam123680.pdf"). A fenti példánál maradva pl. a szam123456 nevű elem ebben a "szam123451-szam123680.pdf" nevű file-ban található meg.
Egyelőre az előző hsz-emben lévő kezdetleges makróm van. Ha abban tudnátok segíteni, hogy hogy lehetne megkeresni a file-t a mappában, akkor a többi részt már meg tudnám írni. Előre is köszönöm a segítségeteket, javaslataitokat!
Remélem érthetően fogalmaztam
.
-
bteebi
veterán
Halálra szívat a laptopom meg a szerkesztési idő, bocsánat
.
Valószínűleg nem tudom majd a szerkesztési idő alatt befejezni a hsz-em szerkesztését, de legalább addig is valami félig-meddig értelmes dolog legyen itt:
Sub szamkereso()
Dim azonosito As Integer, pageno As Integer
azonosito = Mid(ActiveSheet.Range("A1"), 5, 6)
Const path = "D:\Minta\szam123451-szam123680.pdf"
pageno = 5
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate (path & "#page=" & pageno)
Set IE = Nothing
End Sub[ Szerkesztve ]
-
bteebi
veterán
Sziasztok!
Egy fix mappában lévő pdf file-ok adott oldalát szeretném megnyitni Excellel. Van rá egy részben működő makróm:
-
Delila_1
veterán
válasz
ocsi19 #31756 üzenetére
Egyszerűbb összeállítani, mint leírni a módját.
A Munka1 lapon a legördülőbe elkezded beírni a keresett nevet, az E5 cellában megjelenik a hozzá tartozó adat, ami a Munka2 lapon van.
A csatolt cella a C5 a legördülőhöz, erre hivatkozik az E5 függvénye.
-
ocsi19
senior tag
Sziasztok!
Segítséget szeretnék kérni:
- egy olyan cellát szeretnék létrehozni, amelyben úgy tudok keresni egy másik fülön levő adathalmazból(szöveg), hogy pl 3 karakter után kiadjon egy legördülő listát a lehetséges találatokról, illetve kiválasztásra a kiválasztott névhez(pl a1) tartozó számsort(b1) írja be.Előre is köszönöm a segítséget.
üdv.: Péter
-
Dr V
őstag
válasz
föccer #31745 üzenetére
Köszi a válaszokat.
Azt hiszem, h a kérdésemet rosszul tetttem fel, mert elég a cellaformázásnál kapcsos zárójelbe "m"-et megadni és másodpercben látom az értéket. Ami a valódi problémám, az a következő:
Két különböző helyről kapok idő adatokat, más formátumban.
Egyik helyről 0:11:00, idő formátumban felismeri és decimális számként is tudja kezelni.
A másik helyről az előbb látott 18,55 formátumban érkezik, ami már eleve decimális szám, ha átváltom időre 13:12:00 lesz belőle.
A problémám, h egy táblázatba ezen különböző adatokat kell tudnom összeadni. Ezt hogyan tudnám megoldani?[ Szerkesztve ]
Új hozzászólás Aktív témák
- Fűzzük össze a szavakat :)
- Formula-1
- Vezeték nélküli fülhallgatók
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Mikrotik routerek
- Apple iPhone 16 Pro - rutinvizsga
- Sütés, főzés és konyhai praktikák
- Digitális Állampolgárság Program DÁP
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- PlayStation 5
- További aktív témák...