После некоторых исследований в Интернете и на Stackoverflow я застрял на некоторых элементах функционирования события: Workbook_Open (что наверняка покажется вам простым).
Я написал следующий код:
Public Sub Workbook_Open()
' Désactivation des évènements
Application.EnableEvents = False
' Put the back color of a button to red
' line 1
CB1.BackColor = &HC0&
' Modify the RowHeight of a line
' line 2
ThisWorkbook.Worksheets("Search").Rows("12:12").RowHeight = 800
' Réactive l'évènement
Application.EnableEvents = True
End Sub
Точность:
CB1 — это имя кнопки, имплантированной на лист Excel под названием «Поиск».
У меня две разные проблемы:
Проблема №1 :
Excel, похоже, не распознает переменную CB1 за пределами кода, написанного на листе «Поиск». Я не понимаю, почему. Разве переменная CB1 не должна быть доступна для всего кода рабочей книги?
Проблема №2
Я просто не понимаю, почему линия 2 не работает.
Даже когда я пишу это в другой процедуре, которую потом вызываю.
Кто-нибудь может дать мне предложения?
С уважением и благодарностью!
Ваш код должен выглядеть примерно так:
Public Sub Workbook_Open()
' Désactivation des évènements
Application.EnableEvents = False
' Put the back color of a button to red
' line 1
'sheet specification a requirement
Sheets("Search").CB1.BackColor = &HC0&
' Modify the RowHeight of a line
' line 2
' maximum row height is 409
Sheets("Search").Rows(12).RowHeight = 409
' Réactive l'évènement
Application.EnableEvents = True
End Sub
См. следующую ссылку, чтобы узнать максимальную высоту строки в Excel: https://support.office.com/en-ie/article/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3.
Большое спасибо за ваш ответ. Для меня «Рабочие листы» и «Листы» были взаимозаменяемы в коде VBA. И я не знал, что существуют ограничения на размер ячейки.