Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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
Inhaltsverzeichnis

Makro gesucht

Makro gesucht
22.08.2019 10:27:24
Karin
Hallo Ihr Experten,
ich suche ein Makro das mir aus allen Excel-Dateien den Dateinamen und die einzelnen Namen der Tabellenblätter auflistet die darin vorkommen.
Die Excel-Dateien stehen alle in einem Ordner.
Hat jemand von euch eine Idee?
Userbild
Freundliche Grüße
Karin
Excel 2016

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Mappen öffnnen und Tab-Namen auflisten
22.08.2019 10:51:14
Beverly
Hi Karin,
vielleicht wäre das eine Möglichkeit:
Sub mehrere_arbeitsmappen_oeffnen()
Dim strVerzeichnis As String
Dim strTyp As String
Dim strDateiname As String
Dim lngZeile As Long
Dim wksTab As Worksheet
Dim intSpalte As Integer
strTyp = "*.xlsx*"
Application.ScreenUpdating = False
strVerzeichnis = "D:\DeinVerzeichnis"
If Right(strVerzeichnis, 1)  "\" Then strVerzeichnis = strVerzeichnis & "\"
strDateiname = Dir(strVerzeichnis & strTyp)
lngZeile = 2
With ThisWorkbook.Worksheets("Tabelle1")
Do While strDateiname  ""
intSpalte = 1
Workbooks.Open Filename:=strVerzeichnis & strDateiname
.Cells(lngZeile, intSpalte) = ActiveWorkbook.Name
intSpalte = intSpalte + 1
For Each wksTab In ActiveWorkbook.Worksheets
.Cells(lngZeile, intSpalte) = wksTab.Name
intSpalte = intSpalte + 1
Next wksTab
ActiveWorkbook.Close False
strDateiname = Dir
lngZeile = lngZeile + 1
Loop
End With
Application.ScreenUpdating = True
End Sub


Anzeige
Korrektur
22.08.2019 11:05:29
Beverly
Hi Karin,
da hat sich ein Fehler in den Code eingeschlichen: lösche das *-Zeichen am Ende von strTyp = "*.xlsx*" - die Zeile muss also so aussehen: strTyp = "*.xlsx", falls es sich nur um xlsx-Dateien handelt.
Sollen auch xls- und xlsm-Dateien ausgelesen werden, dann so: strTyp = "*.xls*"


AW: Korrektur
22.08.2019 12:01:07
Karin
Hallo Beverly,
das Makro läuft jetzt ohne Fehler durch, aber leider zeigt er nichts an.
Oder muss ich noch was machen?
Gruß
Karin
Hast du den Verzeichnisnamen...
22.08.2019 12:31:51
Beverly
Hi Karin,
...im Code korrekt angepasst?
Bei mir jedenfalls funktioniert der Code problemlos.


Anzeige
AW: Hast du den Verzeichnisnamen...
22.08.2019 12:37:08
Karin
Hallo Beverly,
ja habe ich gemacht.
Sieht jetzt so aus.

Sub mehrere_arbeitsmappen_oeffnen()
Dim strVerzeichnis As String
Dim strTyp As String
Dim strDateiname As String
Dim lngZeile As Long
Dim wksTab As Worksheet
Dim intSpalte As Integer
strTyp = "*.xlsx"
Application.ScreenUpdating = False
strVerzeichnis = "\\srv01088\userdaten$\Plog\Desktop\heute"
If Right(strVerzeichnis, 1)  "\" Then strVerzeichnis = strVerzeichnis & "\"
strDateiname = Dir(strVerzeichnis & strTyp)
lngZeile = 2
With ThisWorkbook.Worksheets("Tabelle1")
Do While strDateiname  ""
intSpalte = 1
Workbooks.Open Filename:=strVerzeichnis & strDateiname
.Cells(lngZeile, intSpalte) = ActiveWorkbook.Name
intSpalte = intSpalte + 1
For Each wksTab In ActiveWorkbook.Worksheets
.Cells(lngZeile, intSpalte) = wksTab.Name
intSpalte = intSpalte + 1
Next wksTab
ActiveWorkbook.Close False
strDateiname = Dir
lngZeile = lngZeile + 1
Loop
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Hast du den Verzeichnisnamen...
22.08.2019 12:56:29
Karin
Hallo Beverly,
ich habe das Makro auch auf einem anderen Rechner laufen lassen.
Hier ist der Pfad "C:\Users\Plog\Documents" eingestellt.
Läuft leider auch nicht.
Keine Ahnung warum, weil es bei dir ja läuft.
Gruß
Karin
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:10:50
ede
dann bau doch mal einen Datei-Zähler mit ein!!!

Sub mehrere_arbeitsmappen_oeffnen()
Dim strVerzeichnis As String
Dim strTyp As String
Dim strDateiname As String
Dim lngZeile As Long
Dim wksTab As Worksheet
Dim intSpalte As Integer
Dim anzFiles As Integer
strTyp = "*.xlsx"
Application.ScreenUpdating = False
strVerzeichnis = "C:\DEINVERZEICHNIS"
If Right(strVerzeichnis, 1)  "\" Then strVerzeichnis = strVerzeichnis & "\"
strDateiname = Dir(strVerzeichnis & strTyp)
lngZeile = 2
anzFiles = 0
With ThisWorkbook.Worksheets("Tabelle1")
Do While strDateiname  ""
intSpalte = 1
anzFiles = anzFiles + 1
Workbooks.Open Filename:=strVerzeichnis & strDateiname
.Cells(lngZeile, intSpalte) = ActiveWorkbook.Name
intSpalte = intSpalte + 1
For Each wksTab In ActiveWorkbook.Worksheets
.Cells(lngZeile, intSpalte) = wksTab.Name
intSpalte = intSpalte + 1
Next wksTab
ActiveWorkbook.Close False
strDateiname = Dir
lngZeile = lngZeile + 1
Loop
End With
Application.ScreenUpdating = True
MsgBox "Anzahl Dateien gefunden: " & anzFiles
End Sub

Anzeige
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:23:16
Karin
Hallo Ede,
das Makro ist sauber durchgelaufen mit der Meldung:
Anzahl Dateien gefunden: 6
Die Anzahl stimmt.
Leider wieder keine Auflistung.
Gruß
Karin
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:31:16
ede
nur mal zur Sicherheit die Frage, auf dem Tabellenblatt "Tabelle1" der Exceldatei, wo das Makro läuft, ist kein Inhalt zu sehen?
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:35:18
Karin
genau so ist es
auch bei jeder neuen Datei kommt nichts
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:33:07
Torsten
Hallo Karin,
ich kann mir nur vorstellen, dass die geoeffneten Dateien bei dir dann nicht die aktiven Workbooks sind. Warum auch immer.
Versuch nochmal das hier:

Sub mehrere_arbeitsmappen_oeffnen()
Dim strVerzeichnis As String
Dim strTyp As String
Dim strDateiname As String
Dim lngZeile As Long
Dim wksTab As Worksheet
Dim intSpalte As Integer
Dim anzFiles As Integer
strTyp = "*.xlsx"
Application.ScreenUpdating = False
strVerzeichnis = "C:\DeinVerzeichnis"
If Right(strVerzeichnis, 1)  "\" Then strVerzeichnis = strVerzeichnis & "\"
strDateiname = Dir(strVerzeichnis & strTyp)
lngZeile = 2
anzFiles = 0
With ThisWorkbook.Worksheets("Sheet5")
Do While strDateiname  ""
intSpalte = 1
anzFiles = anzFiles + 1
Workbooks.Open FileName:=strVerzeichnis & strDateiname
.Cells(lngZeile, intSpalte) = strDateiname
intSpalte = intSpalte + 1
For Each wksTab In Workbooks(strDateiname).Worksheets
.Cells(lngZeile, intSpalte) = wksTab.Name
intSpalte = intSpalte + 1
Next wksTab
Workbooks(strDateiname).Close False
strDateiname = Dir
lngZeile = lngZeile + 1
Loop
End With
Application.ScreenUpdating = True
MsgBox "Anzahl Dateien gefunden: " & anzFiles
End Sub

Gruss Torsten
Anzeige
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:41:54
Karin
Hallo Torsten,
das Makro läuft auf einen Fehler:
With ThisWorkbook.Worksheets("Sheet5")
Ich habe das Tabellenblatt umbenannt in "Sheet5", der Fehler kommt aber immer noch
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:44:38
Torsten
Ah sorry, du musst hier natuerlich wieder den Namen deiner Tabelle eintragen, wo das reingeschrieben werden soll
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:46:29
Torsten
Dann weiss ich auch nicht mehr. Kannst du deine Datei mal hochladen? Dann kann man vielleicht den Fehler einfacher finden. Bei mir lauft alles wunderbar.
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:52:45
Karin
Hallo Torsten,
folgende Vorgehensweise:
Ich starte Excel.
Dann "Datei - neu"
Das Makro habe in die persönliche Arbeitsmappe gespeichert.
PERSONAL.XLSB!mehrere_arbeitsmappen_oeffnen
Ausführen
Habe ich was vergessen
Anzeige
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:54:36
Torsten
Hast du in deiner PERSONAL.XLSB auch ein Tabellenblatt? Wenn ja, wie heisst das? Wenn nein, wie heisst die Datei, wo du die Sachen hinschreiben willst?
AW: Hast du den Verzeichnisnamen...
22.08.2019 14:01:26
Torsten
Ich vermute, dann liegt es an dieser Zeile:
With ThisWorkbook.Worksheets("Sheet5")

Die musst du umschreiben, wenn du die Daten in einem anderen als dem Makro Workbook schreiben willst.
Dann nach diesem Schema:

With Workbooks("DeinDateinamemitDateiendung").Worksheets("Tabellenname")

Gruss Torsten
AW: Hast du den Verzeichnisnamen...
22.08.2019 14:23:36
Karin
Hallo Beverly, ede und Torsten,
jetzt hat es endlich funktioniert.
Vielen, vielen Dank für euere Hilfe und Ausdauer mit mir.
Ganz herzlichen Dank dafür.
Liebe Grüße an euch.
Bist demnächst.
Karin
Anzeige
AW: Hast du den Verzeichnisnamen...
22.08.2019 13:59:59
ede
kopiere das Makro in die neu angelegte Exceldatei, nicht in die Personal.....!!!!
AW: Hast du den Verzeichnisnamen...
22.08.2019 14:32:19
Karin
Hallo Beverly, ede und Torsten,
jetzt hat es endlich funktioniert.
Vielen, vielen Dank für euere Hilfe und Ausdauer mit mir.
Ganz herzlichen Dank dafür.
Liebe Grüße an euch.
Bist demnächst.
Karin
AW: Hast du den Verzeichnisnamen...
22.08.2019 14:32:21
Karin
Hallo Beverly, ede und Torsten,
jetzt hat es endlich funktioniert.
Vielen, vielen Dank für euere Hilfe und Ausdauer mit mir.
Ganz herzlichen Dank dafür.
Liebe Grüße an euch.
Bist demnächst.
Karin
AW: Hast du den Verzeichnisnamen...
22.08.2019 14:32:44
Karin
Hallo Beverly, ede und Torsten,
jetzt hat es endlich funktioniert.
Vielen, vielen Dank für euere Hilfe und Ausdauer mit mir.
Ganz herzlichen Dank dafür.
Liebe Grüße an euch.
Bist demnächst.
Karin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige