2016-10-18 5 views
0

Я хотел бы изменить цвет двух ячеек (C3: C4) на красный каждый раз, когда открывается моя книга.изменение цвета ячейки при открытии рабочей книги

Код, который я пробовал, находится в моем событии Workbook_Open, но я получаю Определяемая приложением или объектная ошибка. Вот код:

Private Sub Workbook_Open() 

Worksheets("Balance Sheet").Range("C3:C4").Interior.Color = vbRed 

End Sub 

Является ли мой синтаксис неправильно, или это более, что это не может быть сделано в течение Workbook_Open? И как я могу это исправить?

ответ

0

Ах, кажется, я получаю сообщение об ошибке, потому что я пытался редактировать заблокированный лист. Добавлены линии для разблокировки и блокировки, и все работает нормально.

Немного неловко, но урок узнал в следующий раз.

0

Убедитесь, что ваш рабочий лист называется «Баланс». Любая опечатка заставит Excel не найти и не вернуть ошибку.

+0

Спасибо, это была одна из первых вещей, которые я проверил, определенно нет опечаток. – banni3ter

+0

В качестве альтернативы можно переименовать имена рабочих листов, чтобы можно было работать с wsBalanceSheet.Range ... вместо Table1.Range или Worksheets («Баланс») ... – Stefan

0

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

https://support.office.com/en-us/article/Enable-or-disable-macros-in-Office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6

+0

Макросы включены, у меня есть код в SelectionChange событие, которое работает нормально. – banni3ter

+0

Thats странно. Я даже тестировал его, и он работает так, как ожидалось ... Возможно, попробуйте использовать имя рабочего листа вместо Рабочих листов («Баланс»). – Stefan

+0

Спасибо Стефан. В моем проводнике проекта лист помечен как Sheet1 (Баланс). Использую ли я – banni3ter

Смежные вопросы