Wechselnde Laufwerkbuchstaben Excel VBA

Hallo zusammen,

ich habe eine wahrscheinlich recht einfache frage zu Excel bzw. VBA
Also ich habe einen ganz einfachen Button in einer Exceldatei mit einem Makro hinterlegt. Beim betätigen des Buttons soll ein anderes Workbook im selben Ordner geöffnet werden. Hier muss man bei der Programmierung normalerweise immer den gesamten Pfad eingeben, z.B. G:/Ordner/Mappe
Was kann ich machen, wenn der Laufwerksbuchstabe bei wechselnden Nutzern der Datei sich netzwerkbeding unterscheidet? War das verständlich?

Du kannst den Pfad des aktuellen Workbooks mit ThisWorkbook.Path in Erfahrung bringen und das neue Workbook dann unter dem selben Pfad abspeichern.
Dies allerdings nur, wenn das aktuelle Workbook schon einmal abgespeichert wurde (sonst ist der Pfad leer) aber das scheint ja in deinem Fall der Fall zu sein…
Gute Nacht :smile:
Marion

Hallo „Thomas Hermes 5“,

leider kann ich Dir dazu keine Antwort geben.

Trotzdem einen guten Rutsch in neue Jahr,

mfg Stefan

Hallo Thomas,

probiere bitte folgenden Code aus, vielleicht hilft er dir weiter. Bei Klick auf den Button öffnet sich der „Datei öffnen“-Dialog. Hierüber wird die zu öffnende Datei gewählt.

Ist diese Datei noch nicht geöffnet, so wird sie in Excel geöffnet. Ist die Datei bereits geöffnet, so wird sie aktiviert. Die Prüfung auf Gleichheit erfolgt über den Dateinamen. Evtl. müsstest du dies anpassen auf den kompletten Verzeichnispfad.

Grüße,
Marco

Sub Schaltfläche1_BeiKlick()

Dim bExists As Boolean
Dim oWorkbook As Object

ChDir „“
ChDrive „c:“
'Das Dialogfenster
Dateiname = Application.GetOpenFilename _
(„Microsoft Excel-Dateien (*.xls),*.xls“)
If Dateiname = False Then Exit Sub
MsgBox „Ihre Auswahl:“ & vbNewLine & Dateiname

’ Prüfen ob Datei bereits geöffnet ist
bExists = False
With Application
For Each oWorkbook In .Workbooks
If UCase$(oWorkbook.Name) = Dateiname Then
’ Jetzt aktivieren
Windows(oWorkbook.Name).Activate
bExists = True
Exit For
End If
Next
End With

’ Mappe neu laden!
If Not bExists Then
On Error Resume Next
Workbooks.Open Filename:=Dateiname, ReadOnly:=False
On Error GoTo 0
End If

End Sub

Ausgehend davon, dass es sich bei deinem Laufwerk um ein Netzwerkpfad handelt, würde ich die Netzlaufwerksbezeichnung verwenden. Also in etwar so: \Computer\Ordner\Mappe.

Hallo Thomas,

Sorry das ich jetzt erst antworte.

Hast du dir schonmal „activeWorkbookPath“ angeschaut.

Viele Grüße
Maikilein