У меня есть макрос для импорта нескольких файлов на один лист и присвоения им имен с допустимыми символами. Эти файлы и имена файлов будут время от времени меняться в зависимости от потребностей проекта. Я хотел бы раскрасить код, как листы, по названию листа.
Поэтому мне нужно перебрать все листы в поисках определенных фраз. Как и все листы, содержащие слово «страница» будут окрашены в синий цвет. Таким образом, дубликаты заголовков страниц и слишком длинные заголовки страниц будут синими вкладками. Хотя страницы, содержащие фразу H1, будут красными. Таким образом, дубликаты H1 и H1 Too Long были бы красными вкладками.
Бывают случаи, когда заголовок включает в себя как страницу, так и H1, поэтому мне нужно сделать исключение для этого и выбрать уникальный цвет.
Я понимаю, что мне нужно пройтись по всем листам, проверяя их наличие и давая пример того, что содержит имя и какой цвет я хочу использовать, но мне не удается найти макрос в один клик, который нечастный саб для выполнения этого.
Sub TabColor()
Sheets("canonicals missing").Tab.Color = vbBlack
Sheets("canonicals nonindexable canonic").Tab.Color = vbBlack
Sheets("h1 duplicate").Tab.Color = vbRed
Sheets("h1 missing").Tab.Color = vbRed
Sheets("h1 multiple").Tab.Color = vbRed
Sheets("h1 over 70 characters").Tab.Color = vbRed
Sheets("page titles duplicate").Tab.Color = vbBlue
Sheets("page titles missing").Tab.Color = vbBlue
Sheets("page titles over 65 characters").Tab.Color = vbBlue
Sheets("page titles same as h1").Tab.Color = vbBlue
End Sub
Я выбрал точный маршрут заголовка, потому что иногда они содержат два ключевых слова, таких как «страница» и «h1», поэтому я решил, что лучше быть явным. Однако, если эти названия не существуют, то это останавливается. Заголовки всегда будут различаться, поэтому невозможно точно определить, какими будут заголовки в любом пакете файлов .xls. Я понятия не имею, как перебрать каждый лист и проверить его существование. Я очень плохо знаком с VBA и спотыкаюсь.