ich möchte gern über ein Makro, alle Excel-Tabellen in einem Ordner auslesen und auf Inhalt einer bestimmten Zelle prüfen. Dazu habe ich bereits etwas im Forum gefunden, was meiner Vorstellung ziemlich nahe kommt, jedoch habe ich folgende zwei Herausforderungen, zu denen ich bitte eure Hilfe benötige.
1. nach erfolgreichen Durchlauf werden alle meine Tabellenblätter ausgeblendet und ich versteh nicht woran das liegt!? Einblenden lassen sie sich über "Ansicht"+"Einblenden"
2. möchte ich prüfen, ob der Wert in der Zelle "0" ist, mit meiner Idee es umzusetzen funktioniert es leider nicht, wie könnte man das anders machen!?
Sub Inhalt_Auslesen()
Dim lngZeile As Long
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objDateienliste As Object
Dim objDatei As Object
Dim Inhalt As Worksheet
Set objFileSystem = CreateObject("scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.GetFolder("C:\Test$\Desktop\Test")
Set objDateienliste = objVerzeichnis.Files
Set Inhalt = ThisWorkbook.Sheets("Inhalt")
lngZeile = 2
For Each objDatei In objDateienliste
If Not objDatei Is Nothing Then
Inhalt.Cells(lngZeile, 1) = objVerzeichnis.Path & objDatei.Name
Inhalt.Cells(lngZeile, 2) = GetObject(objVerzeichnis.Path & "\" & objDatei.Name).Worksheets("Zeiten").Cells(40, 4)
lngZeile = lngZeile + 1
End If
GetObject(objVerzeichnis.Path & "\" & objDatei.Name).Close SaveChanges:=True
Next objDatei
End Sub
Versuch mit der Wenn-Bedingung zu Zellinhalt "0"
Sub Inhalt_Auslesen()
Dim lngZeile As Long
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objDateienliste As Object
Dim objDatei As Object
Dim Inhalt As Worksheet
Dim Zeiten As Worksheet
Set objFileSystem = CreateObject("scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.GetFolder("C:\Test$\Desktop\Test")
Set objDateienliste = objVerzeichnis.Files
Set Inhalt = ThisWorkbook.Sheets("Inhalt")
Set Zeiten = GetObject(objVerzeichnis.Path & "\" & objDatei.Name).Worksheets("Zeiten").Cells(40, 4)
lngZeile = 2
For Each objDatei In objDateienliste
If Not objDatei Is Nothing Then
If Zeiten "0" Then
Inhalt.Cells(lngZeile, 1) = objVerzeichnis.Path & objDatei.Name
Inhalt.Cells(lngZeile, 2) = GetObject(objVerzeichnis.Path & "\" & objDatei.Name).Worksheets("Zeiten").Cells(40, 4)
lngZeile = lngZeile + 1
End If
End If
GetObject(objVerzeichnis.Path & "\" & objDatei.Name).Close SaveChanges:=True
Next objDatei
End Sub