[VBA] Обращение к листу по имени в макросе Excel

Вообщем, у вас в VBA IDE вместо имён листов стоят знаки ______, и макросы не воспринимают вариант Sheets("лютий"), потому что в языковых настройках системы неверно выставлен параметр: Язык программ, не поддерживающих Юникод - нужно выбрать Русский (или украинский).

Меняется так:
  1. Откройте Панель управления (для этого, нажмите комбинацию клавиш Win+R и введите слово control затем кнопку ОК).
  2. Найдите пункт Изменение форматов даты, времени и чисел и нажмите его (может называться немного иначе, например "Часы и регион") - дальше вероятно, придётся ещё раз нажать пункт "Регион"
  3. В открывшемся диалоговом окне перейдите на вкладку Дополнительно и убедитесь, что Язык программ, не поддерживающих Юникод выбран Русский (Россия). Если другой, нажимаете изменить язык системы и выбираете Русский или Украинский.
  4. После нажатия ОК перезагружайте компьютер.

Если Windows с английским интерфейсом, там пункты называются так: Clock And Region - Region - Administrative - Language for non-Unicode programs - Change system locale.

После этого к листу можно будет обращаться макросом Sheets("лютий") т.е. по имени.

// Прим.: также, вариант решения см. в посте № 4.
 
Последнее редактирование:
Неожиданно. Спасибо за информацию!
Я всегда считал, что разницы нет никакой.
Но если проблема была с языком для неюникодных программ, то лично у меня IDE даже не даёт ничего написать на русском.
Хорошо, что удалось решить без смены настроек.
 
А політика компанії дозволяє хоча б подивитися, яка мова встановлена в налаштуваннях? Цікаво, чи саме це є причиною.
 
1676449700074.png
 
Спасибо за доп. информацию.
Поставил эксперимент, у меня воспроизвести ситуацию не получилось.
Значит у вас какая-то иная причина, и ваш вариант решения наиболее удачен.
 
Назад
Сверху Снизу