Переходя на Excel 2013 с Excel 2010,
Когда Sheet2 неактивен
Код
Worksheets("Sheet2").Rows("432:432").EntireRow.Hidden = False
дает ошибку
Unable to set the Hidden property of the Range class
Но отлично работает, когда Sheet2 является активным листом
В Excel 2010 у VBA не было проблем со скрытием строк в InactiveSheets.
Это изменение в Excel 2013. Если да, то исправление.
РЕДАКТИРОВАТЬ: Worksheets("Sheet2").Protect Password:="password", userinterfaceonly:=True
Worksheets("Sheet2").Rows("2:2").EntireRow.Hidden = False
При установке для параметра userinterfaceonly значения true, код VBA для скрытия строки работает только тогда, когда лист активен
Я не могу воссоздать эту ошибку на новом листе 2013 года. Но только при открытии приложения Excel 2010 в 2013 году. Интересно, не играю ли я здесь с какими-либо настройками.
1004
, защитивSheet2
, отличное предложение @DavidZemens! Конечно, вы можете очистить это, используяWorksheet.Unprotect Password:="da_password"
, отметив, что пароля может не быть (в этом случае вы можете просто использовать метод.Unprotect
- person Dan Wagner   schedule 09.05.2014