FormatCondition.Modify приводит к ошибке времени выполнения «1004» Ошибка приложения или объекта - PullRequest
0 голосов
/ 28 мая 2019

У меня есть код vba, который настраивает рабочий лист. Одной из функций является условное форматирование столбца «Y». Когда я пытаюсь изменить Formula1 объекта FormatCondition, я получаю время выполнения '1004'.

Шаблон Excel, который будет использоваться курсами по гольфу для оценки игр, в которые играют большие группы игроков. Я использую подсветку заполнения ячеек, чтобы привлечь внимание к значимым значениям - в данном случае - к трем лучшим игрокам в «Total Game». В коллекции FormatConditions диапазона «Y8: Y127» существует три объекта FormatCondition. Я написал некоторый код, который частично перечисляет существующие объекты FormatCondition, поэтому я знаю, что они есть и содержат то, что ожидается. Я создал их через обычный графический интерфейс Excel - не VBA.

For k = 1 To 3
    WST.Range("$Y$8:$Y$127").FormatConditions(k).Modify xlExpression, , 
      Replace(strScore, "#", k, 1, 1)
Next k

Проблема возникает при k = 1.

В результате вызова функции замены:

=VLOOKUP(A8,$A$7:$AY$127,51,FALSE)=1

Я пытаюсь изменить Formula1 объекта FormatCondition, который начинается с:

=VLOOKUP(A8,$AA$7:$AY$127,25,FALSE)=3

Я попробовал следующее из отладчика:

 ? Replace(strScore,"#",k,1,1)
 =VLOOKUP(A8,$A$7:$AY$127,51,FALSE)=1
 ? WST.Range("$Y$8:$Y$127").FormatConditions(k).Formula1
 =VLOOKUP(A8,$AA$7:$AY$127,25,FALSE)=3


x=WST.Range("$Y$8:$Y$127").FormatConditions(k).Modify(xlExpression,,"=VLOOKUP(A8,$A$7:$AY$127,51,FALSE)=1","")

Я пытался активировать лист WST, но результаты те же.

Все попытки приводят к ошибке времени выполнения '1004'

1 Ответ

0 голосов
/ 28 мая 2019

Приносим извинения за недочеты людей на этом форуме. Я могу обойти проблему. Сбой объекта FormatCondition, потому что лист защищен. Но лист защищен с помощью:

 `wks.Protect Password:=gPassword, UserInterfaceOnly:=True`

, что должно позволить vba изменять условное форматирование, но предотвращать моды через пользовательский интерфейс. Это работает для большинства вещей в Excel, но явно не для объекта FormatCondition.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...