ich arbeite an einem Kalkulationstool, mit dem man mit Hilfe von Checkboxes Zeilen auswaehlen kann, und dann per Button bestimmte Zellen dieser Zeilen auf das naechste Sheet kopiert werden. Der Code dafuer:
Sub CopyRows()
Dim LRow As Long, ChkBx As CheckBox, WS2 As Worksheet, counter As Long
Set WS2 = Worksheets("Cost quote")
LRow = WS2.Range("A" & Rows.Count).End(xlUp).Row
For Each ChkBx In ActiveSheet.CheckBoxes
If ChkBx.Value = 1 Then
LRow = LRow + 1
WS2.Cells(LRow, "C").Resize(, 5) = Range("A" & _
ChkBx.TopLeftCell.Row).Resize(, 5).Value
End If
Next
End Sub
So weit klappt auch alles, nun moechte ich zusaetzlich Unterprogramme/Subs starten (mit Namen Picture1, Picture2, Picture3, Picture4... Picture9), die falls Zeilen ausgewahlt sind, gestartet werden. Sprich: Falls nur eine Checkbox ausgewaehlt ist, soll Picture1 gestartet werden, falls 2 Checkboxes, dann Picture 1 und Picture2, bei 3 Haken Picture1, Picture2 und Picture3, und so weiter bis Picture 9. Ich habe zuerst versucht mit dem Call Befehl, einem "counter", und ihn in die Schleife einzubauen, um die Subs zu starten, doch ich habe das mit dem variablen Makronamen nicht hingekriegt, da ich leider ein ziemlicher Amateuer auf dem VBA Gebiet bin.
Hier meine wenigen Ideen, die leider nicht funktionieren:
Dim counter as long
befehlsliste = Array("Picture1", "Picture2", "Picture3")
counter = counter + 1
If counter = befehlsliste(i) Then
Application.Run befehlsliste(i)
Vielen Dank schonmal fuer eine Antwort, bin leider total am verzweifeln.
LG Stefan