ich möchte gerne das ein user per button einen bestimmten ordner auswählen kann. Dieser ordner dient dann als temp ablage für dateien.
Gibt es da eine möglichkeit? Weil in der Toolbar von VBA habe ich es leider nicht gefunden.
mfg sven
Sub netzwerk_durchsuchen()
Dim Ordnerpfad
Dim dat
Set dat = Application.FileDialog(msoFileDialogFolderPicker)
With dat
.Title = "Netzwerk...."
.InitialFileName = "C:\" 'oder was auch immer
If .Show = -1 Then
For Each Ordnerpfad In .SelectedItems
MsgBox Ordnerpfad 'Zur weiteren verwendung
Next Ordnerpfad
End If
End With
End Sub
Sub Verzeichnis()
Dim ordner As FileDialog, Pfad As String
Set ordner = Application.FileDialog(msoFileDialogFolderPicker) '4
If ordner.Show = -1 Then
Pfad = ordner.SelectedItems(1)
End If
MsgBox Pfad
Set ordner = Nothing
End Sub
Um in einer UserForm einen Ordner auszuwählen, kannst du den VBA-Code verwenden, der das Dialogfeld für die Ordnerauswahl öffnet. Hier sind die Schritte, um dies zu implementieren:
Private Sub CommandButton1_Click()
Dim ordner As FileDialog
Dim Pfad As String
Set ordner = Application.FileDialog(msoFileDialogFolderPicker)
If ordner.Show = -1 Then
Pfad = ordner.SelectedItems(1)
MsgBox "Ausgewählter Ordner: " & Pfad
End If
Set ordner = Nothing
End Sub
Fehler: "Methode 'FileDialog' nicht gefunden"
Lösung: Stelle sicher, dass du die richtige Bibliothek verwendest. Die FileDialog
-Methode ist nur verfügbar, wenn du mit einer Version von Excel arbeitest, die VBA unterstützt.
Fehler: Der ausgewählte Pfad wird nicht angezeigt
Lösung: Überprüfe, ob der Code im Button-Click-Ereignis korrekt platziert ist. Der Pfad wird nur angezeigt, wenn die Bedingung If ordner.Show = -1
erfüllt ist.
Neben der Verwendung einer UserForm kannst du auch ein einfaches Makro verwenden, um einen Ordner auszuwählen. Der folgende Code ist eine alternative Methode, um den VBA-Pfad auszuwählen:
Sub OrdnerAuswaehlen()
Dim Ordnerpfad As String
Dim dat As FileDialog
Set dat = Application.FileDialog(msoFileDialogFolderPicker)
If dat.Show = -1 Then
Ordnerpfad = dat.SelectedItems(1)
MsgBox "Ausgewählter Ordner: " & Ordnerpfad
End If
End Sub
Diese Methode ist nützlich, wenn du keine UserForm benötigst und direkt von einem Modul aus arbeiten möchtest.
Sub SpeichernInOrdner()
Dim ordner As FileDialog
Dim Pfad As String
Dim FileName As String
Set ordner = Application.FileDialog(msoFileDialogFolderPicker)
If ordner.Show = -1 Then
Pfad = ordner.SelectedItems(1)
FileName = Pfad & "\MeineDatei.xlsx"
ThisWorkbook.SaveAs FileName
MsgBox "Datei gespeichert unter: " & FileName
End If
Set ordner = Nothing
End Sub
Sub DateienAuflisten()
Dim ordner As FileDialog
Dim Pfad As String
Dim Datei As String
Set ordner = Application.FileDialog(msoFileDialogFolderPicker)
If ordner.Show = -1 Then
Pfad = ordner.SelectedItems(1)
Datei = Dir(Pfad & "\*.*")
Do While Datei <> ""
Debug.Print Datei ' Gibt die Dateinamen im Direktfenster aus
Datei = Dir
Loop
End If
Set ordner = Nothing
End Sub
Option Explicit
am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies verhindert viele häufige Fehler in VBA.MsgBox
zur Fehlersuche. Wenn du den Pfad oder bestimmte Variablen überprüfen möchtest, ist eine einfache Nachricht oft hilfreich.1. Wie kann ich den Standardordner ändern, der beim Öffnen des Dialogs angezeigt wird?
Du kannst den Standardordner ändern, indem du die InitialFileName
-Eigenschaft des Dialogs verwendest:
dat.InitialFileName = "C:\DeinStandardordner\"
2. Ist es möglich, mehrere Ordner gleichzeitig auszuwählen?
Die msoFileDialogFolderPicker
-Option unterstützt nur die Auswahl eines einzelnen Ordners. Um mehrere Dateien auszuwählen, müsstest du stattdessen msoFileDialogFilePicker
verwenden.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen