Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

über Excel Tabelle Ordner öffnen

Betrifft: über Excel Tabelle Ordner öffnen von: Ylmz-006
Geschrieben am: 02.09.2020 11:08:45

Hallo Ihr Lieben,


habe wieder eine Problem bei dem ich nicht weiter komme.


In Spalte "B" trage ich immer wieder Nummern ein. Z. B. 000-123456/00


Nun würde ich gerne, wenn ich auf die Nummer drauf klicke in der Spalte "B", der mir die Ordner, der im Laufwerk C:\Users\Technik\Pictures\Akten\ befindet sucht und öffnet.


In Ordner \Akten\ habe ich allerdings folgender Dateinamen 000-123456-00

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 11:22:16

Hallo Ylmz,

in das Modul der Tabelle (Rechtklick auf den Tabellenreiter - Code anzeigen):

Option Explicit

Private Const FOLDER_PATH As String = "C:\Users\Technik\Pictures\Akten\"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 Then Call Shell("explorer.exe /e, " & _
        FOLDER_PATH & Replace(Target.Text, "/", "-"), vbNormalFocus)
End Sub

Eventuell sollte der Zeilenbereich eingeschränkt werden.

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 12:04:58

Hallo Nepumuk,

der Code funktioniert soweit ganz gut, aber beim klicken auf die Zelle wird mir die Eigene Dateien geöffnet und nicht die Ordner "Akten" woran kann das liegen?

Grüße

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 12:15:48

Hallo Ylmz,

stimmt denn der Pfad zum Ordner?

Du sprichts einmal von Ordner und einmal von Dateinamen. Hat der Ordner nun den Namen 000-123456/00 oder nur eine Datei im Ordner Akten?

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 12:25:28

Hallo Nepumuk,

der Pfad stimmt schon. "C:\Users\Technik\Pictures\Akten\"

in der Ordner "Akten" sind nochmal mehrere Ordnern drin, deren Namens mit 000-123456-00 benannt sind.

Gruß

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 12:39:48

Hallo Ylmz,

kann ich nicht nachvollziehen. Ich habe das natürlich getestet und bei mir funktioniert es. Schau mal nach, ob sich im Ordnernamen oder im Exceleintrag vorne oder hinten ein Leerzeichen eingeschlichen hat. Oder leg mal einen Ordner mit nur einem Buchstaben an, dann in der Exceltabelle diesen Buchstaben in Spalte B, Spalte C anklicken und dann wieder den Buchstaben in Spalte B.

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 13:02:20

Hallo Nepumuk,

mit der Buchstaben funktioniert auch leider nicht bei mir. Im Exceleintrag habe ich 000-123456/00 und im Ordner 000-123456-00. Zum testen habe ich ein anderen Ordner angelegt "C:\Users\Technik\Desktop\Test\" auch da wird Eigene Dokumente geöffnet. Nur,wenn ich auf ein leeren bereich klicke, wird der Test Ordner am Desktop geöffnet. Kann das vielleich an der intelligente Tabelle liegen?

Gruß

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 13:18:13

Hallo Ylmz,

nein, daran kann es nicht liegen.

Öffne mal eine neue Mappe und füge folgendes Makro in ein Standardmodul ein (VBA-Editor - Einfügen - Modul). Dann starte es mit F5. Werden die Ordnernamen in Spalte A aufgelistet?

Option Explicit

Private Const FOLDER_PATH As String = "C:\Users\Technik\Pictures\Akten\"

Public Sub Test()
    Dim strFolder As String
    Dim lngRow As Long
    strFolder = Dir$(FOLDER_PATH & "*", vbDirectory)
    Do Until strFolder = vbNullString
        If strFolder <> "." And strFolder <> ".." Then
            If GetAttr(FOLDER_PATH & strFolder) And vbDirectory = vbDirectory Then
                lngRow = lngRow + 1
                Cells(lngRow, 1).Value = strFolder
            End If
        End If
        strFolder = Dir$
    Loop
End Sub

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 13:51:00

Hallo Nepumuk,

Ja, es werden die Namen aufgelistet. Dabei habe ich bemerkt dass ich die Ordnern mit Datum versehen hatte. z.B. "2020-09-02 - 000-123456-00 XX" Habe ich gar nicht aufgepasst sorry.

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 13:58:47

Hallo Ylmz,

dann ändere die erste Prozedur so:

Option Explicit

Private Const FOLDER_PATH As String = "C:\Users\Technik\Pictures\Akten\"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim strFoldername As String
    If Target.Column = 2 Then
        strFoldername = Dir$(FOLDER_PATH & "*" & Replace(Target.Text, "/", "-") & "*", vbDirectory)
        Call Shell("explorer.exe /e, " & _
            FOLDER_PATH & strFoldername, vbNormalFocus)
    End If
End Sub

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 14:19:18

Hallo Nepumuk,

mit der Code wird jetzt die Ordner "Akten" geöffnet. Die unterordner, den ich in der Exceleintag geklickt habe wird allerdings nicht geöffnet, die muss ich wieder suchen.

Das weiteren, soll der Ordner nur beim klicken der Exceleintrag aufgerufen werden. Bzw. wenn ich ein neuen Eintrag machen möchte, wird jedesmal Ordner "Akten" geöffnet. Noch besser wäre, wenn ich die Unterordner im "Akten" per Doppelklick öffnen könnte.

Gruß

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 14:29:25

Hallo Ylmz,

ich habe es mit einem Ordner mit dem Namen "2020-09-02 - 000-123456-00 XX" getestet. Dieser wird geöffnet beim Excelwert "000-123456/00". Funktioniert als wie gewünscht bei mir.

Per Doppelklick geht so:

Option Explicit

Private Const FOLDER_PATH As String = "C:\Users\Technik\Pictures\Akten\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim strFoldername As String
    If Target.Column = 2 Then
        strFoldername = Dir$(FOLDER_PATH & "*" & Replace(Target.Text, "/", "-") & "*", vbDirectory)
        If strFoldername <> vbNullString Then
            Call Shell("explorer.exe /e, " & FOLDER_PATH & strFoldername, vbNormalFocus)
        Else
            Call MsgBox("Ordner nicht gefunden.", vbExclamation, "Hinweis")
        End If
        Cancel = True
    End If
End Sub

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 14:55:40

Hallo Nepumuk,

Jetzt funktioniert. Vielen Dank.

Bei mehreren Unterordnern wurde bei mir "_" verwendet z.B "2020-09-02 - 000_123456_00 XX" wie kann der Code geändert werden?

Gruß

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 15:08:08

Hallo Ylmz,

kein Problem:

Option Explicit

Private Const FOLDER_PATH As String = "C:\Users\Technik\Pictures\Akten\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim strFoldername As String, strAlternativeFoldername As String
    If Target.Column = 2 Then
        strAlternativeFoldername = Replace(Replace(Target.Text, "-", "_"), "/", "-")
        strFoldername = Dir$(FOLDER_PATH & "*" & _
            Replace(Target.Text, "/", "-") & "*", vbDirectory)
        If strFoldername = vbNullString Then strFoldername = _
            Dir$(FOLDER_PATH & "*" & strAlternativeFoldername & "*", vbDirectory)
        If strFoldername <> vbNullString Then
            Call Shell("explorer.exe /e, " & FOLDER_PATH & strFoldername, vbNormalFocus)
        Else
            Call MsgBox("Ordner nicht gefunden.", vbExclamation, "Hinweis")
        End If
        Cancel = True
    End If
End Sub

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 15:31:50

Hallo Nepumuk,

Konntest du die letzte Code testen? ich bekomm nämmlich die Fehlermeldung "Ordner nicht gefunden"

"2020-09-02 - 000_123456_00 XX" so sind bei mir die meisten Unterordnern benannt.

Ich kann zwar der vorletzte Code von dir verwenden, dafür muss ich aber sehr viele Unterorner umbenennen.

Gruß

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Nepumuk
Geschrieben am: 02.09.2020 15:32:04

Oooooooooooops,

da ist noch ein Fehler drin so klappts:

strAlternativeFoldername = Replace(Replace(Target.Text, "/", "-"), "-", "_")

Gruß
Nepumuk

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 15:45:13

Hallo Nepumuk,

Vielen Dank für dein bemühungen.

Irgend wie klappt es nicht mit dem "_". Ist nicht schlimm. Ich bleib bei den vorletzten Code.

Gruß

Betrifft: AW: über Excel Tabelle Ordner öffnen
von: Ylmz-006
Geschrieben am: 02.09.2020 15:48:22

Hallo Nepumuk,

Es funktioniert Super. Ich hatte ein Tippfehler.

Danke dir..

Beiträge aus dem Excel-Forum zum Thema "über Excel Tabelle Ordner öffnen"