Hirdetés
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Lalikiraly: Macbook NEO 2
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- MasterDeeJay: Asus B150-Plus D3 coffeetime mod! (DDR3)
- MasterDeeJay: i7 4980HQ asztali gépben (vs i7 4770)
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
-
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
-
Fferi50
Topikgazda
válasz
szix96
#24501
üzenetére
Szia!
Íme egy lehetőség:
Sub fileosszegzo()
Dim mf As Workbook, lap As Worksheet, fnev, usor As Long
Set mf = ActiveWorkbook
Set lap = ActiveSheet
Do While MsgBox("Akar adatokat beolvasni ?", vbYesNo) = vbYes
usor = lap.Range("A" & Rows.Count).End(xlUp).Row + 1
fnev = Application.GetOpenFilename()
If fnev <> False Then
Workbooks.Open Filename:=fnev ' megnyitás
Range("A8:E56").Copy Destination:=lap.Range("A" & usor)
'lap.Range("A56").PasteSpecial 'Beillesztés
ActiveWindow.Close False 'Bezárja
Range("A2").Select 'Rááll és vége
End If
Loop
MsgBox "Beolvasás vége!", vbInformation
End SubNéhány megjegyzés hozzá:
- az mf ebben az esetben teljesen felesleges, hiszen nem is használjuk a makróban
- a megnyitás után mindig a megnyitott munkafüzet lesz aktív - ezt lehet kihasználni a másolásnál amit lehet közvetlenül a célterületre "küldeni".
- a makró mindig az A oszlop első üres sorától másolja be a következő fájl adatait
- honnan tudod, hogy a megnyitott fájlban éppen az a munkalap az aktív, amire neked szükséged van? Ha csak egy munkalap van benne, akkor ok, de egyébként baj lehet, hiszen más esetleg (vagy akár Te is) elmozdíthatta az aktív munkalapot.
- természetesen a másoladó területet (ami most Range("A8.... nál kezdődik) szintén meg lehet adni úgy, hogy megkeressük a forrás fájlban - csak a szempontokat kell hozzá ismerni.
- a bezárásnál a False paraméter azt jelenti, hogy nem kell az esetleges változtatásokat menteni a forrásban
- a bezárás után ismét az eredeti fájlod lesz az aktív munkafüzet.A do while ciklus addig megy, amíg a kérdésre igent válaszolsz. Ha nem választasz fájlt, akkor nincs mit bemásolni, utána a kérdésre válaszolj nemmel, ha ténylegesen be akarod fejezni a beolvasást, vagy válassz fájlt és akkor folytatódik a beolvasás. (De ha igent válaszolsz és utána nem választasz fájlt, akkor a ciklus továbbra is "pörög" - ez szándékosan van így, hiszen el is téveszthetted a file választást.)
Üdv.
Új hozzászólás Aktív témák
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- PC Szervizeket, Gépépítőket keresek B2B szoftver partnerségre (E-számlával)
- PC Game Pass előfizetés
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Game Pass Ultimate előfizetések 3 - 36 hónapig azonnali kézbesítéssel! 13 hónap ultimate - 50.000 ft
- Apple iPhone 16 Pro 128GB,Újszerű,Dobozaval,12 hónap garanciával
- HP Victus Gaming Laptop INTEL I7-14700HX / RTX 4070 32GB RAM 1TB SSD 144Hz Gari
- Infinix Hot 11s / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- Gamer PC-Számítógép! Csere-Beszámítás! I5 9600KF / RTX 3060Ti / 16GB DDR4 / 256SSD + 2TB HDD
- ASUS Zenbook 14 - 14" 2.8K OLED 90Hz - i5-1240P - 16GB - 512GB - Win11 - 1,5 év garancia - MAGYAR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50