Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA-Ordnername auslesen, Neuanlage von Ordnern

VBA-Ordnername auslesen, Neuanlage von Ordnern
03.11.2017 20:29:35
Ordnern
Hallo Leute,
das folgende Makro verwende ich um Ordnernamen aus einem Pfad herauszulesen:
Sub Example1()
Dim objFSO As Object
Dim objFolder As Object
Dim objSubFolder As Object
Dim i As Integer
Application.ScreenUpdating = False
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("Pfad")
i = 13
For Each objSubFolder In objFolder.subfolders
Cells(i + 1, 1) = objSubFolder.Name
i = i + 1
Next objSubFolder
Application.ScreenUpdating = True
End Sub
Nehmen wir jetzt an, dass in meinem Pfad ein Ordner mit der Bezeichnung "AUTOSAR" abliegt. Ich lasse mein Makro laufen und es wird in die Zelle "A14" der Text "AUTOSAR" geschrieben. Neben diesem Text, also in Zelle "B14", schreibe ich eine beliebige Information über "AUTOSAR", die auch nur für "AUTOSAR" gilt. Wenn ich nun ein weiteren Ordner mit der Bezeichnung "ABBA" anlege und dann das Makro ausführe, steht jetzt in Zelle "A14" "ABBA" (da im Alphabet vor "AUTOSAR"). "AUTOSAR" wird in Zelle "A15" geschrieben. Das Problem ist, in Zelle "B14" steht die Information zu "AUTOSAR" und nicht zu "ABBA".
Wäre es möglich, dass das Makro zunächst die Spalte "A" durchläuft, die Namen im Pfad mit den Namen in Spalte "A" abgleicht und wenn ein Name nicht in Spalte "A" gefunden wird, eine neue Zeile eingefügt wird und der nicht gefundene Name in diese Zeile in Spalte "A" geschrieben wird?
Vielen Dank!

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Ordnername auslesen, Neuanlage von Ordnern
03.11.2017 21:17:01
Ordnern
Hallo ?,
ene Möglichkeit.
Sub Example1()
Dim objFSO As Object, objFolder As Object, objSubFolder As Object
Dim lngNext As Long

Application.ScreenUpdating = False
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFolder = objFSO.GetFolder("Pfad")

lngNext = Application.Max(14, Cells(Rows.Count, 1).End(xlUp).Row + 1)

For Each objSubFolder In objFolder.SubFolders
  If IsError(Application.Match(objSubFolder.Name.Columns(1), 0)) Then
    Cells(lngNext, 1) = objSubFolder.Name
    lngNext = lngNext + 1
  End If
Next objSubFolder

Application.ScreenUpdating = True

Set objSubFolder = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Sub

Gruß Sepp

Anzeige
AW: VBA-Ordnername auslesen, Neuanlage von Ordnern
03.11.2017 21:36:22
Ordnern
Hallo Sepp,
hier ist erneut Tomi. Habe meinen Namen beim posten vergessen :)
Vielen Dank, ich bekomme aber leider einen objektdefinierten Fehler im folgendem Syntaxabschnitt:
If IsError(Application.Match(objSubFolder.Name.Columns(1), 0))
Der Fehler wird sich mMn auf objSubFolder.Name beziehen.
Ging es denn bei dir?
Vielen Dank und viele Grüße,
Tomi
AW: VBA-Ordnername auslesen, Neuanlage von Ordnern
03.11.2017 21:39:31
Ordnern
Hallo Tomi,
sorry, Schreibfehler!
If IsError(Application.Match(objSubFolder.Name, Columns(1), 0))
Gruß Sepp

Anzeige
AW: VBA-Ordnername auslesen, Neuanlage von Ordnern
03.11.2017 21:41:23
Ordnern
Super, es hat geklappt!!!
Vielen lieben Dank!
AW: VBA-Ordnername auslesen, Neuanlage von Ordnern
03.11.2017 21:29:49
Ordnern
Kannst du posten?
AW: VBA-Ordnername auslesen, Neuanlage von Ordnern
03.11.2017 21:39:13
Ordnern
Kann ich was posten?
Eine Datei ist überflüssig, da man in dem Fall nur einen Pfad angeben muss, der Ordner enthält. Das Makro zieht sich die Namen dann automatisch.
Viele Grüße,
Tomi

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige