-
Fototrend
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
-
Mutt
senior tag
válasz
motinka
#18145
üzenetére
Hello,
Itt vannak a kész változatok.
Szóval ahogy írtam több megoldás is lehetséges.
1. Írtam egy makrót, amely minden egyes adatbevitelkor megnézi hogy van-e mit mozgatni és ilyenkor az egészet átviszi és sorbarendezi. A beviteli lap Change eseménye hívja meg. A beviteli lap tartalma az adat2-n jelenik meg.
Sub Adatmasolas()
Const wsEredeti = "adat"
Const wsCel = "adat2"
Dim vLastRowEredeti As Long
Dim vLastRowCel As Long
'megnézzük az eredeti lapon az utolsó sor helyét
vLastRowEredeti = ThisWorkbook.Sheets(wsEredeti).Range("B" & Rows.Count).End(xlUp).Row
'megnézzük az cél lapon ahova másolunk az utolsó sor helyét
vLastRowCel = ThisWorkbook.Sheets(wsCel).Range("B" & Rows.Count).End(xlUp).Row - 1
'ha több sor van az eredeti lapon akkor lehet másolni a másikra
If vLastRowEredeti > vLastRowCel Then
'képernyőfrissítés kikapcsolása
Application.ScreenUpdating = False
With ThisWorkbook.Sheets(wsEredeti)
'naptár kód másolása
.Range("X2:X" & vLastRowEredeti).Copy Destination:=Sheets(wsCel).Range("A3")
'dátum másolása
.Range("B2:B" & vLastRowEredeti).Copy Destination:=Sheets(wsCel).Range("B3")
'munkalapszám másolása
.Range("C2:C" & vLastRowEredeti).Copy Destination:=Sheets(wsCel).Range("C3")
'munka kezdete másolása
.Range("T2:T" & vLastRowEredeti).Copy Destination:=Sheets(wsCel).Range("D3")
'munka vége másolása
.Range("U2:U" & vLastRowEredeti).Copy Destination:=Sheets(wsCel).Range("E3")
'munkakód másolása
.Range("I2:I" & vLastRowEredeti).Copy Destination:=Sheets(wsCel).Range("F3")
'lezáró kód másolása
.Range("W2:W" & vLastRowEredeti).Copy Destination:=Sheets(wsCel).Range("G3")
End With
'sorbarendezés dátum szerint
Sheets(wsCel).Activate
With ThisWorkbook.Sheets(wsCel)
.Columns("A:G").Select
.Columns.AutoFit
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("B2:B" & vLastRowEredeti), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange Range("A2:G" & vLastRowEredeti)
.Sort.Header = xlYes
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
Sheets(wsEredeti).Activate
'képernyőfrissítés visszaállítása
Application.ScreenUpdating = True
'kijelölés megszüntetése
Application.CutCopyMode = False
End If
End Sub2. A másik megoldás pedig beépített függvényeket tartalmaz, kell hozzá egy ségédtábla és a függvényeket legalább addig le kell másolnod amennyi lesz a várható adatsor (én csak az első 300 sorba másoltam őket).
A megoldás a 3. lapon van.3. A Kimutatás is használható lehet, azonban a megadott mintában nem volt elegendő egyedi érték, így az ismétlődéseket nem tudja kezelni.
üdv.
Új hozzászólás Aktív témák
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- SzoftverPremium.hu
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Dell Latitude 5430 14" Touchscreen i5-1235U 16GB 256GB 1 év garancia
- Lenovo X13 Yoga 2in1 Thinkpad WUXGA IPS Touch i5.1135G7 16GB 256GB Intel Iris XE Win11 Pro Garancia
- Decathlonos 43-as boxcipő, alig használt, hibátlan állapotban
- Xiaomi Redmi Note 13 5G 256GB,Újszerű,Dobozaval,12 hónap garanciával
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T1000 32GB 512GB 15.6" 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Fferi50
