Hallo Leute,
ich habe folgenden Code:
Was macht dieser Code? Er liest aus allen XLS Dateien, die in dem angegebenen Pfad sind, ein, macht sie auf, und schreibt dann Zeile für Zeile die Zellen die man oben angibt (in diesem Fall C2-C6) ein.
Leider funktioniert der Code nicht ganz so wie ich es möchte. Einerseits möchte ich zusätzlich noch .xlsm Dateien einlesen und andererseits möchte ich zusätzlich zu den Zellen den Filenamen des eingelesenen Files ausgeben.
Das hier
funktioniert leider nicht...und ich weiß nicht wieso. Das wäre nämlich das einfachste aber ja.
Vielen Dank für eure Hilfe.
Liebe Grüße
ich habe folgenden Code:
Code:
Option Explicit
Sub CopyExternData()
Const sXlsPath = "C:XXXXX"
Const iStartZeile = 4
Const iStartSpalte = 2
Const Zellen = "C2,C3,C4,C5,C6"
Dim oFso As Object, oFile As Object, oWkb1 As Workbook, oWks0 As Worksheet, oWks1 As Worksheet
Dim aCells As Variant, iNextLine As Long, i As Integer
Set oWks0 = ThisWorkbook.ActiveSheet
aCells = Split(Zellen, ","): iNextLine = iStartZeile
Set oFso = CreateObject("Scripting.FilesystemObject")
For Each oFile In oFso.GetFolder(sXlsPath).Files
'Application.DisplayAlerts = False
If LCase(oFso.GetExtensionName(oFile.Name)) = "xls" Then
If ThisWorkbook.Path <> oFile.Name Then
Set oWkb1 = Workbooks.Open(oFile.Path)
Set oWks1 = oWkb1.Sheets(1)
For i = 0 To UBound(aCells)
oWks0.Cells(iNextLine, iStartSpalte).Offset(0, i) = oWks1.Range(Trim(aCells(i))).Value
Next
oWkb1.Close False
iNextLine = iNextLine + 1
End If
End If
Next
End Sub
Was macht dieser Code? Er liest aus allen XLS Dateien, die in dem angegebenen Pfad sind, ein, macht sie auf, und schreibt dann Zeile für Zeile die Zellen die man oben angibt (in diesem Fall C2-C6) ein.
Leider funktioniert der Code nicht ganz so wie ich es möchte. Einerseits möchte ich zusätzlich noch .xlsm Dateien einlesen und andererseits möchte ich zusätzlich zu den Zellen den Filenamen des eingelesenen Files ausgeben.
Das hier
Code:
If LCase(oFso.GetExtensionName(oFile.Name)) = "xls" OR LCase(oFso.GetExtensionName(oFile.Name)) = "xlsx" Then
Vielen Dank für eure Hilfe.
Liebe Grüße