Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ordner auswählen in userform

ordner auswählen in userform
24.11.2005 16:16:53
sven
hallo,
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
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ordner auswählen in userform
ransi
hallo
versuchs mal so:
Option Explicit

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

ransi
Anzeige
AW: ordner auswählen in userform
25.11.2005 14:41:20
Kurt
Option Explicit

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

mfg Kurt
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Ordner auswählen in UserForm mit Excel VBA


Schritt-für-Schritt-Anleitung

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:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).
  2. Füge eine UserForm hinzu: Rechtsklick auf "VBAProject" > Einfügen > UserForm.
  3. Füge einen Button auf die UserForm: Ziehe einen Button aus der Toolbox auf die UserForm.
  4. Doppelklicke auf den Button, um das Codefenster zu öffnen.
  5. Füge den folgenden Code ein:
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
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Starte die UserForm (z.B. über ein Makro) und klicke auf den Button, um einen Ordner auszuwählen.

Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

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.


Praktische Beispiele

  1. Beispiel für das Speichern von Dateien in einem ausgewählten Ordner:
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
  1. Beispiel für das Auflisten von Dateien in einem ausgewählten Ordner:
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

Tipps für Profis

  • Verwende Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies verhindert viele häufige Fehler in VBA.
  • Nutze MsgBox zur Fehlersuche. Wenn du den Pfad oder bestimmte Variablen überprüfen möchtest, ist eine einfache Nachricht oft hilfreich.
  • Erstelle eine benutzerdefinierte Funktion zur Wiederverwendung des Codes, insbesondere wenn du häufig Ordner auswählen musst.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige