Range.Replace не работает должным образом в версии Office 365 - PullRequest
0 голосов
/ 23 января 2019

У меня есть довольно сложный рабочий лист, который работает для моего клиента уже более года, и недавно они сообщили мне о проблеме, которая поставила меня в тупик.

Рабочая книга самостоятельно создает копию, а затем выполняет ряд еженедельных заданий, чтобы удалить выполненные задания и продвигать задания, которые должны быть выполнены на этой неделе.

Последний шаг - изменение количества символов в именованном диапазоне.

Код:

Sub No_More_Delays()  
    Range("Com_stat").Replace What:="D", Replacement:="X"
    Range("Com_stat").Replace What:="L", Replacement:="X"
    Range("Com_stat").Replace What:="W", Replacement:="X"
End Sub

Симптомы в том, что работает только первый «удар». Таким образом, если в любой из ячеек есть D, то все D меняются на X, однако, если нет D и только L, то все L заменяются, и если нет D или L, заменяются все W. Если есть D, L и W, то заменяются только D. Если я изменю порядок команд и поставлю W первым, а D последним и получим D, L и W, все получим W заменил и больше ничего.

Эти симптомы возникают только в офисе клиента, где они подписываются на Office 365. На моем компьютере с той же ОС и версией Excel, отличной от Office 365, все работает.

Кто-нибудь еще испытывал что-то подобное, и если у вас есть, есть ли обходной путь.

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