2016-11-01 10 views
1

У меня есть код VBA, который я использовал в Excel 2016 (64-разрядная версия), и он отлично работает. Но когда я пытался использовать в 2010 году (32-разрядная версия) версии Excel, я получил сообщение об ошибке "Runtime Error (1004) Применение или объекта Определено Error" в следующей строке:VBA Excel 2010 FormatConditions failing Ошибка определения приложения или объекта

CndFrmtType = Sh.Cells.FormatConditions(CndFrmtItem).Type 

I «Я уже пытался перестроить файл в Excel 2010 (с нуля, чтобы избежать проблем с ссылкой), но он все еще не работает. Я действительно пытался это сделать, но ничего не нашел о возможной несовместимости в объекте FormatConditions.

Возвращенный FormatConditions объект выглядит следующим образом:

enter image description here

Может кто-нибудь помочь мне в этом?

+0

Обновление: Я понял, что она могла бы работать, если бы я передал на определенный диапазон вместо «.Cells». Но в моем случае мне действительно нужно, чтобы он прошел через все условное форматирование, существующие на всем рабочем листе (их больше 20). –

+0

Условия форматирования, определенные на проверенных ячейках, должны быть одинаковыми для работы. Таким образом вы не можете собрать все существующие условия форматирования. – GSerg

+0

Но тот же код действительно работает на моем компьютере (который имеет версию 2016) ... Я написал этот код на нем, и теперь я столкнулся с этой проблемой на другом компьютере :( –

ответ

0

быть уверены, что у вас есть:

  • набор Sh для действительного объекта Worksheet

  • инициализирован CndFrmtItem на допустимое имя или номер индекса для ссылки на состояние форматирования что лист

  • CndFrmtType от Long тип

, и он будет работать

+0

«Ш» уже инициализировал действительный объект Worksheet. CndFrmItem, I'v e просто добавил его в мои объявления как длинный тип var. Но он не работал. Что меня больше «смутило», так это то, что он отлично работает в другой версии Excel :( –

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