Schwierigkeit/Fehler bei SET Objekt
06.03.2014 22:06:46
mkroes
Ziel: alle Excel-Dateien in einem Ordner einlesen und aus diesen einen bestimmten Bereich in ein Array kopieren. Hängen bleibt er beim setzen des WB mit dem Dateinamen. Aber warum?
Private Sub Laden()
Dim FSO
Dim Datei
Dim Ordner
Dim Col As New Collection
Dim Element
Dim WB
Dim myArrayImport As Variant
Dim objRng As Range
Set FSO = CreateObject("Scripting.Filesystemobject")
Set Ordner = FSO.getfolder("e:\Stueckliste\Ablageort_Stuecklisten") 'Pfad _
anpassen
For Each Datei In Ordner.Files 'Schleife über alle Dateien im Ordner laufen lassen
Select Case LCase(FSO.GetExtensionName(Datei)) 'Extension auslesen (LCASE!)
Case "xlsx" 'Filter; Rest wird ignoriert
Col.Add Datei 'alle Dateien in eine Collection
End Select
Next
For Each Element In Col
MsgBox (Element.name)
Set WB = Workbooks.Open(Element.name) 'Datei öffnen !!!!FEHLER!!!
With WB.Worksheets(1) '1 da nur eines geöffnet ;)
Set objRng = WB.Range(WB.Cells(2, 2), WB.Cells(Rows.Count, 1).End(xlUp).Row, 4) 'ab 2. _
Reihe/2.Spalte bis letzte Zeile/4.Spalte
myArrayImport = objRng.Value 'Werte der Zellen in Array schreiben
For i = 1 To UBound(myArrayImport, 2) 'Beginn bei 1, da Datenfeld bereits ohne Ü _
berschrift, 2.Spalte durchsuchen
MsgBox (myArrayImport(i, 2))
Next i
End With
WB.Close False 'Datei schließen
Next
End Sub
Bin mir doch sicher, das das ganze so funktionieren muss :(
Danke für Hilfe!