Hirdetés
- Váratlanul megerősítette a mobil GeForce RTX 5070-et az NVIDIA
- A képkockasebességet is tudja mérni az új AIDA64
- Ha tetszik a jó öreg Xbox Green Edition konzol, ez a numerikus pad is fog
- Így viseli a Samsung az okosszemüveget
- ASUS blog: a memóriahiány nem jelenti azt, hogy ne javíthatnánk a PC-s élményen
-
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
Sziasztok!
Van egy file-om egy modulban lévő makróval. A file különböző - de megegyező struktúrájú - lapjaira szeretnék más Excel file-okból adatokat bemásolni. A másolandó adatokon minimális változtatást végeznék: az eredeti adatok általános formátuma pl. "3.2k", ezt - az utolsó karakter levágása után - felszorzom 1000-rel, és azt szeretném bemásolni, a számformátumot "0"-ra állítva.
Összességében egy dialógusablakkal szeretném megnyitni az adatforrásként szolgáló file-t, viszont nem tudom, hogy hogyan kell(ene) meghivatkozni ahhoz, hogy menjen a másolás.
A jelenlegi makró:
Sub kitoltes()
Dim ablak As FileDialog, fajlnev As String, FileChosen As Integer
Set ablak = Application.FileDialog(msoFileDialogOpen)
FileChosen = ablak.Show
ablak.Title = "Válaszd ki az importálandó file-t"
ablak.InitialFileName = ActiveWorkbook.Path
ablak.InitialView = msoFileDialogViewList
ablak.Filters.Clear
ablak.Filters.Add "Excel 2003 worksheet", "*.xls"
ablak.Filters.Add "Excel 2010 worksheet", "*.xlsx"
ablak.Filters.Add "Excel makró", "*.xlsm"
ablak.FilterIndex = 1
If FileChosen = -1 Then
fajlnev = ablak.SelectedItems(1)
Workbooks.Open (fajlnev)
Else: Exit Sub
End If
Dim adat As Integer, oszlop As Integer
For adat = 1 To 10
For oszlop = 2 To 10 Step 4
'ebben a sorban valószínűleg több hiba is van:
ActiveSheet.Cells(19 + 2 * adat, oszlop) = 1000 * (Left(fajlnev.Sheets("Sheet1").Cells(36 + 2 * (adat - 1), 16), Len(fajlnev.Sheets("Sheet1").Cells(36 + 2 * (adat - 1), 16) - 1)))
ActiveSheet.Cells(19 + 2 * adat, oszlop).NumberFormat = "0"
Next oszlop
Next adat
End SubHa benne van az 1000-rel való szorzás, akkor "Type mismatch" hibát dob, ezért jobb híján beszúrtam egy plusz sort, így már legalább az a része működik:
ActiveSheet.Cells(19 + 2 * adat, oszlop) = ActiveSheet.Cells(19 + 2 * adat, oszlop) * 1000Tudnátok segíteni a hibák kijavításában? Előre is köszönöm!

Új hozzászólás Aktív témák
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Pécs és környéke adok-veszek-beszélgetek
- Xbox tulajok OFF topicja
- Mesterséges intelligencia topik
- Milyen okostelefont vegyek?
- Luck Dragon: Asszociációs játék. :)
- Xiaomi 15T Pro - a téma nincs lezárva
- Yettel topik
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Samsung kuponkunyeráló
- További aktív témák...
- The Elder Scrolls Online Imperial Collector s Edition
- Game Pass Ultimate előfizetések 3 - 36 hónapig azonnali kézbesítéssel! 13 hónap ultimate - 50.000 ft
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Corsair VENGEANCE RGB PRO 16GB (2x8GB) DDR4 3200MHz CMW16GX4M2Z3200C16
- AKCIÓ! Asus H110M i5 7500 8GB DDR4 250GB SSD GTX 1050Ti 4GB ZALMAN T3 Plus Deepcool 400W
- iPhone 17 256 GB Black - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok - Számlás
- HP Victus Ryzen 7 8845HS /16GB DDR5 RTX 4060 / 1TB / 144Hz
- HP EliteBook 650 G9 15" Laptop! I5-1245U / 32GB DDR4 / 500GB SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50
