Hirdetés
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Motorola Edge 70 Fusion – stílusosan főznek
- One mobilszolgáltatások
- Android szakmai topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- iPhone topik
- Milyen okostelefont vegyek?
- Várhatóan ez a négy iPhone már nem telepítheti az iOS 27-et
-
Mobilarena
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
-
Fferi50
Topikgazda
válasz
the radish
#28551
üzenetére
Szia!
Úgy gondolom, az a probléma, hogy a meghívott makróból nem ugyanabba a helyzetbe térsz vissza, ahonnan meghívtad:
Rows(tol & ":" & ig).copy WSM.Range("A2") Ezzel átmásolod a sorokat a forrás munkalapról a cél munkalapra
proba
Itt a másolandó munkafüzet innen nevű munkalapja az aktív.
Itt viszont:
Sub proba()
Range("A1:E3693").Select ' még mindig a másolandó munkafüzet aktív, annak az A:E oszlopát másolod
Selection.copy
Windows("B.xls").Activate 'átváltasz a cél munkafüzetre
Sheets("Munka2").Select 'abban is a Munka2 munkalapra
Range("A1").Select 'és ide másolod be a kijelölt részeket
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
Sheets("ide").Select ' itt pedig a cél munkafüzet ide nevű munkalapját aktíválod - a cél munkafüzet marad az aktív!!! - Pedig a másolandó munkalap volt aktív, amikor a makrót meghívtad!!!
'Azaz ide a Windows("A.xls").Activate sor kellene ezen sor helyett.
MsgBox "Makró"
End SubTovábbá nem egészen értem, miért kell a Select - Copy - Paste és munkafüzet aktíválások sora (amiben el is vesztél szépen
).
A Copy metódusnak van egy Destination paramétere, amivel megadhatod, hogy hova másolja át az adott tartományt. (Ráadásul ezt alkalmazod is a fejléc másolásánál!).
Vagyis a másolás egy sorral megoldható:
Range('A1:E3693").copy destination:=WSM.parent.Sheets("Munka2").range("A1")
Magyarázat: A WSM.parent eredménye a B munkafüzet, így a másolás egyből annak Munka2 munkalapjára megy át.A rövidebb makród azért "tökéletes", mert abban csak egy üzenet van és nem végzel vele semmilyen egyéb - munkalap, munkafüzet megváltoztatási - feladatot.
A leírtakból az is kiderül, ha nem kell mást csinálnia a meghívott makrónak, csak ezt a másolást, akkor nincs is rá szükség, mert az egy sort be lehet oda is szúrni a meghívás helyére.
Bocsi, hogy egy "lerágott csontot" próbáltam meg egy kicsit kibogozni eléggé elkésve, de csak most volt időm foglalkozni vele.
Üdv.
-
Delila_1
veterán
válasz
the radish
#28551
üzenetére
Az Else ágba írtam be két sort, és akkor nincs szükség a külön makróra.
Else
ig = Application.Match(sorszam, Columns(1), 1)
Rows(tol & ":" & ig).copy WSM.Range("A2")
Range("A:E").copy WSM.Sheets("Munka2").Range("A1") '1
WSI.Activate '2
' Masolas 'Itt indul a saját makród ****** megjegyzésbe tettem
sorszam = sorszam + 1 'növeljük a keresendő értéket
End IfHiába írtam át a makród nevét, még mindig van valami disznóság, másképp a VBE átírta volna a copy-t Copyra.
Új hozzászólás Aktív témák
- PC Szervizeket, Gépépítőket keresek B2B szoftver partnerségre (E-számlával)
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Microsoft Office 2024 Home Business dobozos
- Eladó jogtiszta, Windows 11/10, Office 2019/2021/2024, Fizikai és Digitális licencek, Számlával.
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Dell OptiPlex/ Hp EliteDesk /Lenovo ThinkCentre mini, micro PC/ 8.-9.-10.gen/ Számla/garancia
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- Honor Magic 8 Lite 256GB Midnight Black Újszerű állapot 2029.02.11. garancia
- GYÖNYÖRŰ iPhone XR 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4270, 100% Akkumulátor
- Yenkee YMC 1030 Mikrofon Kit (mikrofontartó kar, kábel, stb.)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
).
Fferi50
