Hallo zusammen :)
Ich probiere jetzt schon ewigkeiten auf 3 Dateien (zeitraum1.xlsm, zeitraum2.xlsm und Zeitraum3.xlsm) 2 Schaltlächen einzauben, über die ich jeweils zu den anderen beiden Dateien springen kann. Wenn die entsprechende Datei bereits geöffnet ist, soll diese nur aktiviert werden.
Wichtig ist das der Pfad relativ bleibt, da die Dateien auch in anderen Verzeichnisstruktur funktionieren sollen-
Ich habe bis jetzt diesen Ansatz gefunden und in jeder der Tabellen im Quelltext diese Funktion eingebaut:
Private Function WkbExists(sFile As String) As Boolean
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks(sFile)
If Not wkb Is Nothing Then
WkbExists = True
End If
On Error GoTo 0
End Function
und die beiden Schaltflächen dann in diesem Stil definiert:
Private Sub CommandButton1_Click()
Dim sFile As String, sPath As String
sFile = "zeitraum2.xlsm"
sPath = ThisWorkbook.Path & "\" & sFile
If WkbExists("zeitraum2.xlsm") = False Then
If Dir(sPath) = "" Then
MsgBox "Datei " & sPath & " wurde nicht gefunden!"
Else
Workbooks.Open sPath
End If
Else
Workbooks(sFile).Activate
End If
End Sub
Das ganze verhält sich nun aber so, dass ein oder 2 Klicks funktionieren und dann anstatt der Schaltflächen nur noch Platzhalter mit dem Verweis "Bild kann nicht angezeigt werden" dargestellt werden.
Könnt Ihr mir vielleicht eine schlaflose Nacht ersparen und mir einen Tipp geben, was ich hier falsch mache.
Liebe Grüße
Ingo
|