Я создал форму пользователя для моей рабочей книги. Я бы хотел, чтобы пользователь перемещался по книге, используя кнопку в этой форме пользователя. Есть ли какой-нибудь код, который я могу использовать для ограничения пользователей, позволяя им только нажимать на кнопки в пользовательской форме?

2 ответа2

2
  1. Блокировка ячеек для предотвращения выделения или изменения
  2. Защитить рабочий лист
  3. Иметь код пользовательской формы:


a. unprotect the worksheet
b. unlock the cell
c. update the cell
d. relock the cell
e. reprotect the worksheet.
0

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

Имейте в виду, что вы не можете редактировать VBA, пока пользовательская форма открыта, поэтому будьте осторожны, чтобы не попасть в редактируемый код. Может быть, вы можете иметь отдельную кнопку или что-то по этой причине.

1) Создайте свою форму. Нажмите Alt F11 для просмотра VBA. Нажмите Вставить> Форма пользователя, так как я уверен, что вы уже поняли. Делайте все, что вы хотите с формой для остальной части вашей функциональности.

2) Дважды щелкните форму в представлении VBA, чтобы просмотреть ее код. Здесь мы вставим нашу инструкцию close, которая закроет рабочую книгу после закрытия формы:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

ThisWorkbook.Close SaveChanges:=False

End Sub

3) Теперь нам нужно сделать так, чтобы форма пользователя появлялась сразу после открытия рабочей книги. Дважды щелкните "ThisWorkbook" в древовидном представлении для VBA. Вставьте этот код:

Private Sub Workbook_Open()
UserForm1.Show
End Sub

Надеюсь, это поможет вам на вашем пути.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .