Видимая, невидимая форма кнопки VBA - PullRequest
0 голосов
/ 06 июня 2019

Я хочу добавить фигуру с помощью многофункциональной кнопки.
Первый клик должен показать форму
Второй клик должен скрыть форму

Могу ли я сделать это с помощью одной кнопки формы?

Sub HideShape()
    ActiveSheet.Shapes("Shape1").Visible = False
End Sub
Sub UnhideShape()
    ActiveSheet.Shapes("shape 1").Visible = True
End Sub

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Конечно

Sub HideOrShowButton()
If ActiveSheet.Shapes("Shape1").Visible = False Then
    ActiveSheet.Shapes("Shape1").Visible = True
Else
    ActiveSheet.Shapes("Shape1").Visible = False
End if
End Sub

Подпрограмма проверяет, является ли фигура невидимой, и если да, то делает ее видимой.Если нет, вместо этого он скрывает форму.

Я советую вам не использовать ActiveSheet и вместо этого использовать кодовое имя листа (предпочтительно) или имя / индекс.Как правило, следует избегать обращения к объектам с Activate или Select.

0 голосов
/ 06 июня 2019
Sub HideShowShape()
    ActiveSheet.Shapes("Shape1").Visible = Not ActiveSheet.Shapes("Shape1").Visible
End Sub
...