Hirdetés
- CES 2026: ténylegesen megoldotta a leégő tápkonnektorok gondját a Cooler Master
- Indul a ChatGPT Health
- CES 2026: a Gigabyte legfrissebb csúcs-VGA-ja mindenképp kitűnik a tömegből
- CES 2026: az üzleti mellett a gamer szegmensben is újít az MSI
- CES 2026: felfrissült CPU-hűtők és két pihekönnyű egér a be quiet! gondozásában
- Milyen billentyűzetet vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Fejhallgató erősítő és DAC topik
- CES 2026: a Gigabyte legfrissebb csúcs-VGA-ja mindenképp kitűnik a tömegből
- Apple asztali gépek
- Úgy állhat le a 16 GB-os GeForce RTX 5060 Ti gyártása, hogy közben nem áll le
- Milyen processzort vegyek?
- NVIDIA® driverek topikja
- Mini PC
- AMD vs. INTEL vs. NVIDIA
-
PROHARDVER!
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
-
bteebi
veterán
válasz
Fferi50
#26166
üzenetére
Szia!
Közben elég sokféleképp próbálkoztam. A jelenlegi változatnál "Subscript out of range" hibaüzenetet dob ennél a sornál:
cellap.Cells(19 + 2 * adat, oszlop) = Left(Workbooks(fajlnev).Sheets("Sheet1").Cells(36 + 2 * (adat - 1), 16), _
Len(Workbooks(fajlnev).Sheets("Sheet1").Cells(36 + 2 * (adat - 1), 16) - 1))Sub masol()
Set cellap = ThisWorkbook.ActiveSheet
Set ablak = Application.FileDialog(msoFileDialogOpen)
ablak.Filters.Clear
ablak.Filters.Add "Excel fájlok", "*.xls, *.xlsx, *.xlsm"
ablak.Filters.Add "Excel 2003 worksheet (.xls)", "*.xls"
ablak.Filters.Add "Excel 2010 worksheet (.xlsx)", "*.xlsx"
ablak.Filters.Add "Excel makró (.xlsm)", "*.xlsm"
ablak.FilterIndex = 1
FileChosen = ablak.Show
ablak.Title = "Válaszd ki a file-t"
ablak.InitialFileName = ThisWorkbook.Path
ablak.InitialView = msoFileDialogViewList
If FileChosen = -1 Then
fajlnev = ablak.SelectedItems(1)
Workbooks.Open (fajlnev)
Else: Exit Sub
End If
For adat = 1 To 10
For oszlop = 2 To 10 Step 4
cellap.Cells(19 + 2 * adat, oszlop) = Left(Workbooks(fajlnev).Sheets("Sheet1").Cells(36 + 2 * (adat - 1), 16), _
Len(Workbooks(fajlnev).Sheets("Sheet1").Cells(36 + 2 * (adat - 1), 16) - 1))
cellap.Cells(19 + 2 * adat, oszlop) = cellap.Cells(19 + 2 * adat, oszlop) * 1000
cellap.Cells(19 + 2 * adat, oszlop).NumberFormat = "0"
Next oszlop
Next adat
Workbooks(fajlnev).Close savechanges:=False
End SubHa az End If az utolsó előtti sorban van, akkor lefut a kód, csak nem csinál semmit; nem másol és nem zárja be a megnyitott file-t. A Workbooks(fajlnev) helyett próbálkoztam ActiveWorkbook-kal is, de úgy se ment, akkor "Type mismatch" hibaüzenetet ad.
Új hozzászólás Aktív témák
- Napelem
- Milyen billentyűzetet vegyek?
- Építő/felújító topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- MIUI / HyperOS topik
- Fejhallgató erősítő és DAC topik
- Linux kezdőknek
- CES 2026: a Gigabyte legfrissebb csúcs-VGA-ja mindenképp kitűnik a tömegből
- Apple asztali gépek
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- HP Thunderbolt 4 kábel
- iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, 100 % Akksi, MS4047
- Apple iPhone Xs 256GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Akciós kisWorkstation! Dell Precision 3570 i7-1255U 4.7GHz / 32GB / 1000GB / Quadro T550 4GB FHD 15"
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


