Я создал форму пользователя для моей рабочей книги. Я бы хотел, чтобы пользователь перемещался по книге, используя кнопку в этой форме пользователя. Есть ли какой-нибудь код, который я могу использовать для ограничения пользователей, позволяя им только нажимать на кнопки в пользовательской форме?
2 ответа
- Блокировка ячеек для предотвращения выделения или изменения
- Защитить рабочий лист
- Иметь код пользовательской формы:
a. unprotect the worksheet
b. unlock the cell
c. update the cell
d. relock the cell
e. reprotect the worksheet.
Вот как вы напишите свой код, чтобы сделать его таким, чтобы ваша пользовательская форма появлялась, как только рабочая книга открывалась, а затем закрывала всю форму, как только она закрывалась, что в основном не позволит пользователю использовать только пользовательскую форму.
Имейте в виду, что вы не можете редактировать 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
Надеюсь, это поможет вам на вашем пути.