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

Pfad nicht gefunden - Explorer öffnen

Forumthread: Pfad nicht gefunden - Explorer öffnen

Pfad nicht gefunden - Explorer öffnen
02.11.2021 20:19:11
Andreas
Hallo alle zusammen,
ich habe in der Zelle A1 des Tabellenblatts einen Pfad hinterlegt, der von mehreren Makros als "Standardpfad" herangezogen wird.
In diesem Pfad werden fortfolgend Unterordner und Dateien abgelegt.
Jetzt kann es vorkommen, dass jemand zuhause die Excel-Datei verwendet und dadurch nicht die gleiche Ordnerstruktur wie auf Arbeit hat.
Ich würde jetzt gerne erreichen, dass er im Falle eines fehlerhaften Pfades in A1 (er ist ja nicht auf Arbeit) einen Datei-Explorer in Excel öffnet, über den ich das Standardverzeichnis neu auswählen und dann in A1 abspeichern kann. Somit kann derjenige dann zuhause seinen neuen Standardpfad und sein eigenes Hauptverzeichnis verwenden, da er künftig beim Öffnen der ExcelDatei ja in A1 hinterlegt ist.
Wichtig wäre mir, den Pfad nicht manuell über Text sondern über eine grafische Oberfläche auszuwählen.
Kann man das irgendwie mit VBA bewerkstelligen?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad nicht gefunden - Explorer öffnen
02.11.2021 20:25:05
Hajo_Zi
prüfen mit DIR()

Option Explicit                                     ' Variablendefinition erforderlich
Option Private Module                               ' Keine Anzeige in Makroliste
Option Compare Text                                 ' keine Unterscheidung Groß- Kleinbuchstaben
'* H. Ziplies                                     *
'* 14.11.13                                       *
'* erstellt von HajoZiplies@web.de                *
'* http://Hajo-Excel.de
Function GetAOrdner2() As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
If Right(.SelectedItems(1), 1) = "\" Then
GetAOrdner2 = .SelectedItems(1)
Else
GetAOrdner2 = .SelectedItems(1) & "\"
End If
Else
GetAOrdner2 = ""
End If
End With
Exit Function                                   ' Funktion ohne Fehlerbehandlung verlassen
End Function
Sub StartVerzeichnis()
MsgBox GetAOrdner2
End Sub
GrußformelHomepage
In diesem Forum bekomme nur selten eine Mailbenachrichtigung, weitere Antworten sind zufällig.
Anzeige
AW: Pfad nicht gefunden - Explorer öffnen
03.11.2021 12:05:27
Piet
Hallo
zum Thema Pfad finden und speichern gibt es im Internet dutzende Beispiele. Hier mal drei Versionen in Klein und Gross, von mir auf das AktiveSheet Zelle A1 umgeschreiben. Bei der ersten Version kann man das verwendete Laufwerk als Buchstabe vorgeben! Sehr praktisch. Die anderen zeigen alle Laufwerke an.
mfg Piet
  • Sub DateiÖffnen_Dialog()
    Dim objShell As Object, objFolder As Object, Dlg As Variant
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(0, "Ordner", 0, "D:")
    If objFolder Is Nothing Then MsgBox "Nichts ausgewählt": Exit Sub
    ActiveSheet.[a1] = objFolder.self.Path
    MsgBox objFolder.self.Path
    End Sub
    
    Private Function GetFolder() As String 'Funktion um den Ordner auszuwählen
    Dim objShell As Object, varFolder As Object
    Set objShell = CreateObject("Shell.Application")
    Set varFolder = objShell.BrowseForFolder(0, "Folder", &H4000, 17)
    If varFolder Is Nothing Then Exit Function
    'GetFolder = varFolder.Self.Path    'Liste Programm
    'MsgBox varFolder
    ActiveSheet.[a1] = varFolder.self.Path
    MsgBox varFolder.self.Path
    End Function
    
    Sub xlDialog_Grosse_Version()
    With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "G:\"
    .Show 'Laufwerk auswählen
    If .SelectedItems.Count > 0 Then
    xDirect$ = .SelectedItems(1) & "\"
    ActiveSheet.[a1] = xDirect$
    MsgBox xDirect$
    End If
    End With
    End Sub

  • Anzeige
    Na gut...
    03.11.2021 00:03:46
    Yal
    Gehe wie folgt:
    _ öffne eine neue Arbeitsmappe
    _ gehe auf "Daten", "Externe Daten abrufen", "Aus dem Web"
    _ füge die Adresse ein und drücke Ok
    _ drücke "Importieren"
    _ wählt "aktuelles Blatt" und davon Zelle A1
    Dann hast Du die gewünschte Daten in Excel.
    Wenn Du erkennen kannst, welche Struktur sie unterliegen, dann kannst Du diese automatisch verarbeiten.
    Viel Erfolg
    Yal
    Anzeige
    Verklickt (geöhrt zu einer anderen Frage) owT
    03.11.2021 00:08:02
    Yal
    AW: Pfad nicht gefunden - Explorer öffnen
    03.11.2021 12:35:02
    Piet
    Nachtrag - testet mal bitte dieses kleine Makro. Wenn man in A1 + A2 beide Pfade von der Arbeit und zu Hause eingibt wird der Rechner mit dem Pfad starten der auf dem PC verfügbar ist. Das kann man dann zur automatischen Pfadauswahl ins Startmakro einbauen. Braucht man nicht ständig den Pfad zu wechseln!!
    mfg Piet

  • 
    Sub Pfad_selbst_auswählen()
    Dim Laufwerk As String, temp
    Laufwerk = [a1]:  temp = Dir(Laufwerk & "\*.*")
    If Len(temp) = 0 Then
    Laufwerk = [a2]:  temp = Dir(Laufwerk & "\*.*")
    End If
    MsgBox Laufwerk
    End Sub
    

  • Anzeige
    ;
    Anzeige

    Infobox / Tutorial

    Pfad nicht gefunden - Explorer in Excel öffnen


    Schritt-für-Schritt-Anleitung

    Um einen Datei-Explorer in Excel zu öffnen und einen Pfad auszuwählen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu erreichen:

    1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du den Pfad speichern möchtest.

    2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

    3. Füge ein neues Modul hinzu:

      • Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“.
      • Wähle „Einfügen“ > „Modul“.
    4. Kopiere und füge den folgenden Code in das Modul ein:

      Option Explicit
      
      Function GetAOrdner2() As String
         With Application.FileDialog(msoFileDialogFolderPicker)
             If .Show = -1 Then
                 If Right(.SelectedItems(1), 1) = "\" Then
                     GetAOrdner2 = .SelectedItems(1)
                 Else
                     GetAOrdner2 = .SelectedItems(1) & "\"
                 End If
             Else
                 GetAOrdner2 = ""
             End If
         End With
      End Function
      
      Sub StartVerzeichnis()
         ActiveSheet.Range("A1").Value = GetAOrdner2
         MsgBox "Der ausgewählte Pfad ist: " & ActiveSheet.Range("A1").Value
      End Sub
    5. Schließe den VBA-Editor und gehe zurück zu Excel.

    6. Starte das Makro über Entwicklertools > Makros, wähle „StartVerzeichnis“ und klicke auf „Ausführen“.

    Jetzt kannst Du den Pfad grafisch auswählen und in Zelle A1 speichern.


    Häufige Fehler und Lösungen

    • Fehler: „Pfad nicht gefunden“ – Dieser Fehler tritt auf, wenn der Pfad in A1 nicht existiert.

      • Lösung: Stelle sicher, dass der Pfad korrekt ist. Verwende das Makro, um den Pfad auszuwählen.
    • Fehler: „Makro kann nicht ausgeführt werden“ – Dies kann durch Sicherheitsüberprüfungen verursacht werden.

      • Lösung: Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen und aktiviere die Ausführung von Makros.

    Alternative Methoden

    Falls Du nicht mit VBA arbeiten möchtest, kannst Du auch die folgenden Alternativen nutzen:

    1. Manuelles Eingeben des Pfades: Du kannst den Pfad einfach in Zelle A1 eintippen, wenn Du ihn kennst.
    2. Link zu einem anderen Dokument: Verwende Hyperlinks, um auf Dateien oder Ordner zuzugreifen, ohne den Pfad manuell eingeben zu müssen.

    Praktische Beispiele

    Hier sind einige nützliche Beispiele für VBA-Codes, die Du verwenden kannst:

    • Ordner auswählen und in A1 speichern:

      Sub OrdnerAuswaehlen()
         Dim objShell As Object, objFolder As Object
         Set objShell = CreateObject("Shell.Application")
         Set objFolder = objShell.BrowseForFolder(0, "Wähle einen Ordner", 0, 0)
         If Not objFolder Is Nothing Then
             ActiveSheet.Range("A1").Value = objFolder.Self.Path
         End If
      End Sub
    • Pfad automatisch auswählen, je nach Verfügbarkeit:

      Sub Pfad_selbst_auswählen()
         Dim Laufwerk As String, temp
         Laufwerk = [A1]: temp = Dir(Laufwerk & "\*.*")
         If Len(temp) = 0 Then
             Laufwerk = [A2]: temp = Dir(Laufwerk & "\*.*")
         End If
         MsgBox "Verwendeter Pfad: " & Laufwerk
      End Sub

    Tipps für Profis

    • Fehlerbehandlung hinzufügen: Implementiere Fehlerbehandlungsroutinen in Deinen VBA-Codes, um mögliche Fehler abzufangen und den Benutzer zu informieren.
    • Benutzerdefinierte Dialoge: Du kannst die Benutzererfahrung verbessern, indem Du benutzerdefinierte Dialoge erstellst, um die Auswahl zu erleichtern.
    • Makros speichern: Speichere Deine Excel-Datei im .xlsm-Format, um die Makros zu behalten.

    FAQ: Häufige Fragen

    1. Wie öffne ich den VBA-Editor? Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

    2. Was mache ich, wenn meine Makros nicht funktionieren? Überprüfe die Sicherheitseinstellungen für Makros in Excel und stelle sicher, dass Du die Datei im richtigen Format (.xlsm) gespeichert hast.

    3. Kann ich auch andere Zellen als A1 verwenden? Ja, Du kannst den Code anpassen, um andere Zellen zu verwenden, indem Du ActiveSheet.Range("A1") in die gewünschte Zelle änderst.

    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