Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsmappen und Tabellen listen aus Unterordner

Arbeitsmappen und Tabellen listen aus Unterordner
18.09.2007 14:00:14
edie
Hallo Zusammen,
habe folgendes Problem, womit ich nicht
weiterkomme. Nachfolgende VBA-Code (aus dem Archiv)
listet alle derzeit geöffneten Arbeitsmappen in die
Spalte A einschließlich der Tabellen in die Spalte B.
Nun möchte ich die auflistung aller Arbeitsmappen und
deren Tabellen aus einen Ordner ohne die zu öffen.
zum Beispiel mit:
sPath = ThisWorkbook.Path
sPath = ThisWorkbook.Path & "\Unterordner"
Hier der VBA-Code

Sub Listen()
Dim wkb As Workbook
Dim wks As Worksheet
Dim iRow As Integer
For Each wkb In Workbooks
For Each wks In wkb.Worksheets
iRow = iRow + 1
Cells(iRow, 1).Value = wkb.Name
Cells(iRow, 2).Value = wks.Name
Next wks
Next wkb
End Sub


Kann mir jemand weiter helfen?
Danke im Voraus.
Grüße

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsmappen und Tabellen listen aus Unterord
18.09.2007 14:14:08
Rudi
Hallo,
das geht nicht.
Du kannst die Mappen auflisten aber nicht die Tabellen ohne die Mappe zu öffnen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Arbeitsmappen und Tabellen listen aus Unterord
18.09.2007 14:21:36
edie
Hallo Rudi,
wäre es möglich, in einer Schleife, die Arbeitsmappen kurz öffnen zum
einlesen der Tabellen und sofort schließen?
Danke für die Mühe.
Grüße

AW: Arbeitsmappen und Tabellen listen aus Unterord
18.09.2007 14:34:00
Rudi
Hallo,

wäre es möglich, in einer Schleife, die Arbeitsmappen kurz öffnen zum
einlesen der Tabellen und sofort schließen?


kein Problem.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Arbeitsmappen und Tabellen listen aus Unterord
18.09.2007 14:40:14
edie
Hallo Rudi,
für mich ein Problem. Habe keinen Ansatz.
Hättes du Zeit für einen Beispiel-Code?
Vielen dank im Voraus.
Grüße

AW: Arbeitsmappen und Tabellen listen aus Unterord
18.09.2007 15:00:00
Rudi
Hallo,

Hättes du Zeit für einen Beispiel-Code?


Nein. Nur eine Lösung. ;-)
in ein Modul:


Option Explicit
Dim wksInhalt As Worksheet, vntFiles(), lngFiles As Long
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Declare Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, _
ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Sub DateiListe()
Dim FSO As Object, oFolder As Object
Dim strFolder As String
On Error GoTo FEHLER
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wksInhalt = ThisWorkbook.Worksheets.Add
Set FSO = CreateObject("Scripting.FileSystemObject")
strFolder = GetDirectory
Set oFolder = FSO.getfolder(strFolder)
lngFiles = 1
With wksInhalt
.Cells.ClearContents
.Cells(1, 1) = "Ordner"
.Cells(1, 2) = "Name"
.Cells(1, 3) = "Tabellen"
.Range(.Cells(1, 1), .Cells(1, 3)).Font.Bold = True
End With
prcFiles oFolder
prcSubFolders oFolder
With wksInhalt
.Range(.Cells(2, 1), .Cells(lngFiles, UBound(vntFiles, 1))) = _
WorksheetFunction.Transpose(vntFiles)
.Activate
End With
FEHLER:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Private Sub prcSubFolders(oFolder)
Dim oSubFolder As Object
For Each oSubFolder In oFolder.subfolders
prcFiles oSubFolder
prcSubFolders oSubFolder
Next
End Sub
Private Sub prcFiles(oFolder)
Dim oFile As Object, wkb As Workbook, wks As Worksheet
For Each oFile In oFolder.Files
If Right(oFile, 4) = ".xls" Then
Set wkb = Workbooks.Open(oFile, False, True)
For Each wks In wkb.Worksheets
ReDim Preserve vntFiles(1 To 3, 1 To lngFiles)
vntFiles(1, lngFiles) = oFolder
vntFiles(2, lngFiles) = oFile.Name
vntFiles(3, lngFiles) = wks.Name
lngFiles = lngFiles + 1
Next wks
wkb.Close False
End If
Next oFile
End Sub
Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim Path As String
Dim R As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0&
If IsMissing(Msg) Then
bInfo.lpszTitle = "Wählen Sie bitte einen Ordner aus."
Else
bInfo.lpszTitle = Msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
Path = Space$(512)
R = SHGetPathFromIDList(ByVal x, ByVal Path)
If R Then
pos = InStr(Path, Chr$(0))
GetDirectory = Left(Path, pos - 1)
Else
GetDirectory = ""
End If
End Function


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Arbeitsmappen und Tabellen listen aus Unterord
18.09.2007 15:08:00
edie
Hallo Rudi,
das ist mehr als ich gehofft habe.
Tausend mal Danke.
Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige