Ú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 Sub

    Ha 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) * 1000

    Tudnátok segíteni a hibák kijavításában? Előre is köszönöm! :R

Új hozzászólás Aktív témák