Hallo,
ich habe folgende Funktion:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Private Sub Fest12o1_Click()
Dim shp As Shape
For Each shp In Tabelle11.Shapes
If (shp.Name Like "12.*" ) And (shp.Type = msoGroup) Then
For j = 1 To shp.GroupItems.Count
If shp.GroupItems.Item(j).Name = "Schloss12.1" Then
If ActiveSheet.Fest12o1.Value = True Then
shp.GroupItems.Item(j).Visible = True
End If
If ActiveSheet.Fest12o1.Value = False Then
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.
|