Ahoi Jungs und Mädels,
Vielleicht kann mir jemand weiterhelfen. Es ist kein richtiges Problem, aber ich würde es doch gerne lösen:
Ich habe eine Haupt-Datei mit 40 Commandbuttons. (20 vom Typ A, 20 vom Typ B -> siehe unten)
Hinter jedem Commandbutton ist eine andere Excel-Datei hinterlegt.
Durch Klick auf den Button wird die Datei geöffnet. Vorher erfolgt noch die Prüfung, ob die Datei bereits geöffnet ist bzw. der Pfad vorhanden ist.
Funktioniert soweit auch ganz gut. Das Problem ist nur, dass bei jedem einzelnen Button der VBA-Code separat hinterlegt ist.
Wenn ich nun daran etwas ändern möchte, muss ich 40 mal die gleiche Korrektur im Code vornehmen.
Hat Jemand eine Idee, wie ich das ganze vereinfachen könnte? (So ähnlich wie mit "Call [Makro]" vielleicht?)
Hier mal die Codes:
Commandbutton Typ A
Private Sub Proo1_Click()
Dim oTargetBook As Object
Dim Datei As String
Dim Name As String
Set oTargetBook = ActiveWorkbook
Datei = oTargetBook.Sheets("Programmdeckblatt").Range("C55").Value
Name = oTargetBook.Sheets("Programmdeckblatt").Range("B55").Value
If WkbExists(Name) = False Then '=Prüfung ob Datei geöffnet -> siehe unten
If oTargetBook.Sheets("Programmdeckblatt").Range("A55").Value > 0 Then '=Prüfung ob Pfad vorhanden
Workbooks.Open Datei
End If
Else
Workbooks(Name).Activate
End If
End Sub
Beim Proo2-Commandbutton sind die benötigten Zellen dann A56, B56, C56 usw. bis Proo20 - A74, B74, C74
Commandbutton Typ B ist im Prinzip das gleiche, nur dass ein anderer Sheet und andere Zellen angesprochen werden und der Button anders heißt. ^^
Hier noch WkbExists:
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
Ich hatte die Vorstellung, den gesamten Code in ein Call-Makro zu verpacken, aber wie kann ich dann dem jeweiligen Button die richtigen Zellen (zb Proo2 die Zellen A56/B56/C56) zuordnen?
Bin für Anregungen offen und danke schonmal für euer Interesse
lg
FS
|