Thema Datum  Von Nutzer Rating
Antwort
Rot Ratschläge Makros verschachteln
31.05.2017 08:27:13 FS
NotSolved
31.05.2017 10:01:40 Gast26244
NotSolved
31.05.2017 10:06:30 Gast40837
NotSolved
31.05.2017 11:24:29 Gast89947
NotSolved
01.06.2017 09:16:03 FS
NotSolved
01.06.2017 09:27:10 Gast94142
Solved

Ansicht des Beitrags:
Von:
FS
Datum:
31.05.2017 08:27:13
Views:
1101
Rating: Antwort:
  Ja
Thema:
Ratschläge Makros verschachteln

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Ratschläge Makros verschachteln
31.05.2017 08:27:13 FS
NotSolved
31.05.2017 10:01:40 Gast26244
NotSolved
31.05.2017 10:06:30 Gast40837
NotSolved
31.05.2017 11:24:29 Gast89947
NotSolved
01.06.2017 09:16:03 FS
NotSolved
01.06.2017 09:27:10 Gast94142
Solved