Я подозреваю, что проблема в 20-30K InStr(UCase())
- это проблема. Я предлагаю вам определить пару вспомогательных столбцов. Например, если ваши данные «callNummer» и «Destination» находятся в столбцах A
и B
, установите
Y1
→=IFERROR(SEARCH("store", A1), 0)
Z1
→=IFERROR(SEARCH("221", B1), 0)
а затем изменить код VBA для проверки и являются . Таким образом, проверка строки в строке выполняется всякий раз, когда изменяются данные «callNummer» и «Destination», и для подпрограммы VBA требуется гораздо меньше работы. И, конечно же, вы можете скрыть вспомогательные столбцы, когда все заработает.Yn
Zn
> 0
Я не уверен, как именно перевести ваши заявления в эту структуру.pvtItemN.Visible = …
Но даже если вы не можете заставить это работать, вы можете изменить InStr(UCase(pvtItem2), "221")
тест на InStr(pvtItem2, "221")
. Если все, что вам нужно, это число, то нет смысла преобразовывать алфавитное содержимое ячейки в верхний регистр.