Hirdetés
- GoodSpeed: Te hány éves vagy?
- perge666: Egy korszak vége
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- BerserkGuts: 9800X3D Hitvallás, Dogma megcáfolása egy RTX5080+12600K-val
- eBay-es kütyük kis pénzért
- hcl: Amúgy mi a terv?
- MasterDeeJay: Érdekesség: 16GB-os DDR3 sodimm modul asztali gépben
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
-
LOGOUT
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
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50
