Кнопка пользовательской формы остается нажатой после команды - PullRequest
0 голосов
/ 06 мая 2019

У меня есть пользовательская форма с кнопками, которые связаны с кодами. Почему кнопки продолжают нажиматься после завершения кода? Есть ли способ освободить их?

Кнопка выглядит следующим образом после нажатия на нее:

enter image description here

Код кнопки:

Private Sub ToggleButton2_Click()
ThisWorkbook.Worksheets("Price calculation").Activate

Application.ScreenUpdating = False
ThisWorkbook.Sheets("Price calculation").Unprotect Password:="123"
Range("1867:1979").EntireRow.Hidden = False
ActiveSheet.Shapes("Rectangle: Rounded Corners 76").Visible = False
ActiveSheet.Shapes("Rectangle: Rounded Corners 244").Visible = True

ActiveWindow.ScrollRow = 1867
ThisWorkbook.Sheets("Price calculation").Protect Password:="123"
Application.ScreenUpdating = True
End Sub

1 Ответ

2 голосов
/ 06 мая 2019

Вы используете кнопку переключения. Эти переключатели, что неудивительно. Я считаю, что вы собираетесь использовать вместо него CommandButton.

В панели инструментов найдите элемент управления CommandButton. Замените ToggleButton только что добавленным CommandButton. Затем отредактируйте код для своей кнопки-переключателя и замените его на:

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False
With ThisWorkbook.Sheets("Price calculation")
    .Activate     
    .Unprotect Password:="123"
    .Range("1867:1979").EntireRow.Hidden = False
    .Shapes("Rectangle: Rounded Corners 76").Visible = False
    .Shapes("Rectangle: Rounded Corners 244").Visible = True

    ActiveWindow.ScrollRow = 1867 'Is this necessary? It scrolls to a specific hard-coded row
    .Protect Password:="123"
End With
Application.ScreenUpdating = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...