Keresés

Hirdetés

!! SZERVERLEÁLLÁS, ADATVESZTÉS INFORMÁCIÓK !!
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!

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

    Ha 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