Hirdetés
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Lalikiraly: Macbook NEO 2
- N€T0X|N: Talaria tuning: meg kéne tudni állni!
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
- hcl: GPT diszk kisebbre klónozása
- 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
- Sony DualSense Edge kontroller 3 hó garancia, számlával!
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4530, 100% Akkumulátor
- ASUS TUF RTX 5090 OC 32GB GDDR7 TUF-RTX5090-32G-GAMING Videokártya! BeszámítOK
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
- Samsung, SK Hynix 8GB / 16GB / 32GB DDR5 laptop Memoria!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50