Hallo,
ich habe folgende Funktion:
Private Sub Fest12o1_Click() 'FestXo1_Click
Dim shp As Shape
For Each shp In Tabelle11.Shapes
If (shp.Name Like "12.*") And (shp.Type = msoGroup) Then 'Shape Name Like "X.*"
For j = 1 To shp.GroupItems.Count
If shp.GroupItems.Item(j).Name = "Schloss12.1" Then 'SchlossX.1
If ActiveSheet.Fest12o1.Value = True Then 'FestXo1
shp.GroupItems.Item(j).Visible = True
End If
If ActiveSheet.Fest12o1.Value = False Then 'FestXo1
shp.GroupItems.Item(j).Visible = False
End If
End If
Next j
End If
Next shp
End Sub
Die Idee dahinter ist, dass es auf einer Arbeitsmappe (Arbeitsmappen-Name = "12") eine Checkbox gibt ("Fest12o1"). Wird diese an-/abgehakt wird auf einer anderen Arbeitsmappe ein kleines Bild von einem Schloss ("Schloss12.1"), dass sich in der Gruppe 12 befindet, sichtbar/unsichtbar.
Das ganze habe ich jetzt diverse Male.
Checkbox "1.1" auf Mappe "1" steuert "Schloss1.1" in Gruppe "1.1"
Checkbox "1.2" auf Mappe "1" steuert "Schloss 1.2" in Gruppe "1.2"
Checkbox "2.1" auf mappe "2" steuert "Schloss 2.1" in Gruppe "2.1"
usw...
Das, wo ich jetzt Hilfe benötige ist, die obige Funktion zu verallgemeinern, damit ich sie nicht für jede Kombination schreiben muss. Die Kommentare im Code zeigen, welche Zeilen verallgemeinert werden sollen. "X" ist der Name der Arbeitsmappe. Ich scheitere aber an der Syntax von VBA.
|