Выполнив ваш код, я получу Runtime Error 1004 “Application-defined or Object-defined error
, либо если новое имя рабочего листа окажется пустым или превысит максимальное количество символов, которое он может содержать.
Это может произойти, если на каком-то рабочем листе A10, например, пуст. В этом случае новое имя будет пустым.
Другая ситуация, когда это может произойти, если строка, которую вы ищете для замены, не идентична той, которая найдена в A10. Например, вы ищете
"Using Restrictions of: Category Filter (Product) - "
но в A10, например, отсутствует пробел:
"Using Restrictions of: Category Filter (Product)- Travel & Transport"
В этом случае новое имя будет равно значению A10, превышающему максимальное количество символов.
Другая возможность - имя рабочего листа Control
пишется иначе, чем то, как оно написано в вашем If-statement
. В этом случае все листы будут переименованы, и если A10 в Control
пусто, то вы получите Runtime Error 1004
.
Итак, мое предложение:
- Убедитесь, что нет скрытых таблиц (щелкните правой кнопкой мыши вкладку листа и выберите «Показать»)
- Убедитесь, что лист, который вы хотите исключить из цикла,
написано точно так же, как в вашем
If statement
- Убедитесь, что
"Control"
является единственным рабочим листом, который следует исключить из цикла
- Убедитесь, что это
"Using Restrictions of: Category Filter
(Product) - "
не написано с ошибкой ни на одном из рабочих листов, которые вы
хочу переименовать.
- Убедитесь, что все, что следует за
"Using Restrictions of: Category Filter
(Product) - "
, не превышает максимальное количество символов, которое может содержать имя листа.