У меня есть 4 фигуры в группе: «Клиент, Продавец, Перспектива, Подозреваемый». Я хочу иметь возможность выбрать одну фигуру, чтобы изменить стиль, но только один из них должен быть этим стилем за раз. Поэтому, если CustomerStyle - это msoShapeStyle31, тогда я хочу, чтобы все остальные 3 были msoShapeStyle32; но если пользователь нажимает на одну из 3 других кнопок, эта кнопка должна измениться на msoShapeStyle31, а остальные 3 преобразуются в msoShapeStyle32. Я надеюсь, что в этом есть смысл.
RelationshipButtons - это группа, которую я планирую вывести на экран значения ячейки, в зависимости от того, какой из форм является msoShapeStyle31.
Вот то, что у меня есть, но это неправильно, потому что несколько из них обращаются к msoShapeStyle31 в то же время, когда он должен быть только один за один раз. Любая помощь?
Sub Button_Colors()
With Sheet1
Dim CustomerButton As Shape, VendorButton As Shape, ProspectButton As Shape, SuspectButton As Shape, RelationshipButtons As Shape
Set CustomerButton = .Shapes("CustomerButton")
Set VendorButton = .Shapes("VendorButton")
Set ProspectButton = .Shapes("ProspectButton")
Set SuspectButton = .Shapes("SuspectButton")
Set RelationshipButtons = .Shapes("RelationshipButtons")
Dim CustomerStyle As Integer, VendorStyle As Integer, ProspectStyle As Integer, SuspectStyle As Integer
CustomerStyle = CustomerButton.ShapeStyle
VendorStyle = VendorButton.ShapeStyle
ProspectStyle = ProspectButton.ShapeStyle
SuspectStyle = SuspectButton.ShapeStyle
With RelationshipButtons
If CustomerStyle = 31 Then
CustomerStyle = msoShapeStylePreset32
VendorStyle = msoShapeStylePreset31
ProspectStyle = msoShapeStylePreset31
SuspectStyle = msoShapeStylePreset31
ElseIf VendorStyle = 31 Then
CustomerStyle = msoShapeStylePreset31
VendorStyle = msoShapeStylePreset32
ProspectStyle = msoShapeStylePreset31
SuspectStyle = msoShapeStylePreset31
ElseIf ProspectStyle = 31 Then
CustomerStyle = msoShapeStylePreset31
VendorStyle = msoShapeStylePreset31
ProspectStyle = msoShapeStylePreset32
SuspectStyle = msoShapeStylePreset31
ElseIf SuspectStyle = 31 Then
CustomerStyle = msoShapeStylePreset31
VendorStyle = msoShapeStylePreset31
ProspectStyle = msoShapeStylePreset31
SuspectStyle = msoShapeStylePreset32
End If
End With
CustomerButton.ShapeStyle = CustomerStyle
VendorButton.ShapeStyle = VendorStyle
ProspectButton.ShapeStyle = ProspectStyle
SuspectButton.ShapeStyle = SuspectStyle
End With
End Sub