Richtige Arbeitsmappe finden, dann richtigen Sheet finden und öffnen

Hola an alle, habe diese Frage schon in einem anderen Forum gestellt, komme aber noch nicht so wirklich weiter. Hier mein Problem. Ich hoffe ich konnte es vernünftig erklären.
Auf dem Desktop liegt eine Excelverknüpfung die ich als Benutzer Plattform nehme.
Dort lese ich in Zelle E6 die KundenNr aus (zb 0001;0825;9999 usw), in Zelle E7 die AuftragsNr (zb 0005;0325;2547 usw). In einem anderen Ordner (C:\Users\carsten\Desktop\Bufete) liegen diese Klientenmappen und sind so benannt: M.Muster0001; P.Pan0125; W.MüllerLüdenscheidt2157 usw. Meine Idee ist folgende und ich wäre über jeden Ansatz dankbar:

  1. Festgelegten Ordner öffnen (C:\Users\carsten\Desktop\Bufete)
  2. Anhand Zelle E6(0001)auf der Benutzer Plattform, die Mappe M.Muster0001 finden und öffnen. Das bedeutet des Makro muß nach den letzten 4 Ziffern suchen. Geht das überhaupt?
  3. Anhand von Zelle E7 (0010) den richtigen Sheet suchen und öffnen. Die einzelnen Sheets sind so benannt wie die Auftragsnummer in E7
    Meine Userplattform liegt in C:\Users\carsten\Desktop\User Plattform.xlsm
    Vielen Dank und ich bin dankbar über jede Anregung oder über jeden Vorschlag.

Habe folgendes Makro schon bekommen aber irgendwie funktioniert es nicht. Welchen Fehler hat es oder was mache ich falsch?
Sub WorkbookOpen()
Dim WB As Workbook
Dim strDatei As String
Dim strSheet As String

strDatei = Dir(„C:\Users\carsten\Desktop\Bufete*“ & Range(„E6“) & „*.xlsm“)
strSheet = Range(„E7“)

If strDatei „“ Then
Set WB = Workbooks.Open(„C:\Users\carsten\Desktop\Bufete“ & strDatei)
WB.Worksheets(strSheet).Select
End If
End Sub

Der Code öffnet mir immer die gleiche Mappe (Abrechnung Gesamt 2013) und sagt mir dann Laufzeitfehler (9) Index außerhalb des gültigen Bereichs obwohl in dieser Mappe ein Sheet mit dem Namen 0001 besteht. Der Name mit des Books besteht immer nur einmal. Den Sheet gibt es einmal in der Klientemappe und natürlich einmal in der Abrechnung Gesamt 2013 Mappe.

Danke für jede Anregung oder Hilfe
Carsten
Y saludos a todos.

Hola, dank Katharina funktioniert mein Makro jetzt.
Für alle die es interessiert:

Sub WorkbookOpen()
Dim WB As Workbook
Dim strDatei As Variant
Dim strSheet As Variant

strDatei = Dir(„C:\Users\Desktop\Bufete*“ & Format(Range(„E6“), „0000“) & „*.xlsm“)
strSheet = Format(Range(„E7“), „0000“)

If strDatei „“ Then
Set WB = Workbooks.Open(„C:\Users\Desktop\Bufete“ & strDatei)
WB.Worksheets(strSheet).Select
End If
End Sub

Muchas gracias a Katharina
Carsten

Hola,
das Makro funktioniert super, aber wie bekomme ich da jetzt eine Meldung (MsgBox?) rein wenn zB die Datei nicht existiert, weil gelöscht,nicht aktuallisiert usw. Jetzt kommt dann immer der Debugger. Hier nochmal das Makro

Sub WorkbookOpen()
Dim WB As Workbook
Dim strDatei As Variant
Dim strSheet As Variant

strDatei = Dir(„C:\Users\Test*“ & Format(Range(„E6“), „0000“) & „*.xlsm“)
strSheet = Format(Range(„E7“), „0000“)

If strDatei „“ Then
Set WB = Workbooks.Open(„C:\Users\Test“ & strDatei)
WB.Worksheets(strSheet).Select
End If
End Sub

Muchas gracias
Carsten

das Makro funktioniert super, aber wie bekomme ich da jetzt
eine Meldung (MsgBox?) rein wenn zB die Datei nicht existiert,
weil gelöscht,nicht aktuallisiert usw. Jetzt kommt dann immer
der Debugger. Hier nochmal das Makro

Hola Carsten,

ungetestet:

Sub WorkbookOpen()
Dim WB As Workbook, strDatei As String, strSheet As String
With ThisWorkbook.Worksheets("Tabelle1")
 strDatei = Dir("C:\Users\Test\*" & Format(.Range("E6"), "0000") & "\*.xlsm")
 strSheet = Format(.Range("E7"), "0000")
 If strDatei "" Then
 Set WB = Workbooks.Open("C:\Users\Test\" & strDatei)
 WB.Worksheets(strSheet).Select
 Else
 MsgBox "C:\Users\Test\*" & Format(.Range("E6"), "0000") & "\*.xlsm" & vbLf \_
 & "nicht gefunden"
 End If
End With
End Sub

Hasta la proxima vez
Reinhard