Hirdetés
- Hazavágná a HBM jövőjét az AI-piacon az Intel és a Saimemory új egyezménye
- Új Xeonokkal szorongatná meg az Intel az AMD-t
- Névteleníti a Panther Lake IGP-jét az Intel, ha nem gyors a memória mellette
- Mindent a látványért: DeepCool CG380 3F gépház tesztje
- Minikijelzőben és szénszálban hisz az Epomaker új egere
- Milyen billentyűzetet vegyek?
- E-book olvasók
- Nyomtató topik
- Milyen TV-t vegyek?
- Gamepad
- Hazavágná a HBM jövőjét az AI-piacon az Intel és a Saimemory új egyezménye
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Mindent a látványért: DeepCool CG380 3F gépház tesztje
- Bambu Lab 3D nyomtatók
- Vezetékes FEJhallgatók
-
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
- Antivírus szoftverek, VPN
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Hario MINI MILL SLIM PLUS tekerőt keresek, mert elveszett
- Ryzen 7 5800X + WIFI-s GIGABYTE lap azonnal vihető
- Astro A50 4th Gen wireless + base station fejhallgató
- LG 65QNED86A / MiniLED / 65" - 164 cm / 4K UHD / 144Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Új MSI Modern 15 FHD IPS Ryzen5 7530U 4.5Ghz 16GB 512GB SSD Radeon RX Vega7 Graphics Win11 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

Fferi50

