Как поменять язык excel vba

Решил изучить VBA в Excel для повышения уровня автоматизации работы. Открыл редактор, а он то ли на Китайском, то ли на Корейском языке.

Иероглифы

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

Файл

В открывшемся меню нужно нажать «Параметры».

Параметры

Откроется окно «Параметры Excel». В блоке слева нужно выбрать «Язык». Для параметра «Выбор языков редактирования» необходимо выбрать вариант «английский (США)» и нажать кнопку «По умолчанию».

Параметры Excel

Программа выдаст предупреждение. Если вы всё ещё не способны читать иероглифы — нажмите «Да».

Язык редактирования Microsoft Office по умолчанию

Далее в окне «Параметры Excel» нажмите «ОК». Программа выдаст сообщение, что для вступлению изменений в силу требуется перезагрузка. Нажимаем «ОК» и перезапускаем программу.

Изменение языковых параметров Microsoft Office

После повторного запуска программы, вместо иероглифов отобразились слова на английском языке.

Английский язык

After Microsoft Office updated to the 2016 version I found the VBA interface is in German. How can I restore it to English?

My Windows 10 settings are set to English and the local setting preferences are all for English UK as well (dates, decimals etc.).

I set the Office Preference Language to English.

Please find screen-shot attached

Community's user avatar

asked Sep 26, 2018 at 8:56

Cezary Domański's user avatar

3

I tried above solutions and didn’t works for me.
This one works and not need administrator rights.

Close all Office apps.
Open any Office app I.E. Excel

Choose: Options, Language

Select default language for edition: English (this option probably isnt neccessary but I did this when i looked for solution)
Set English from order list as top of language for display
Set English from order list as top of language for help

Looks like VBA language is based on these two options and is selected in order.
My primary language is Polish, and my VBA editor was in Italian.
To change VBA language to English i set order from these lists so English is choosed as first language if something can’t be displayed in Polish. (previously Italian was as number 3 an this list)
VBA Language setup

answered Aug 23, 2020 at 14:25

Robert de Clair's user avatar

Have a look at the setting at Control Panel > Region and Language > Administrative. If it’s showing «Germany/German» for non-unicode programs, you might be able to change it there.


This thread at answers.microsoft.com suggests to have a look at the folder C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.1.

Hello, I’ve had the same problem and finally found the solution. The
language file for VBA editor interface is stored in the following
folder with different subfolders:

C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.1

(you may need to search for VBEUIINTL.dll if you can’t find this
folder on your computer)

in this folder the 1033 subfolder and its contents are for English
interface. The other ones are for different languages. Somehow VBA
chooses the wrong subfolder. So you basically need to copy the
contents of 1033 folder ( as a workaround ):

«C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.11033APC71ITL.DLL»
«C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.11033VBE7INTL.DLL»
«C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.11033VBEUIINTL.DLL»

to the 2052 folder (for chinese for example, may be you have
different), for changing the language.

Before doing this , restart and don’t start any office products. Then
copy the files; overwrite if asked. I also suggest you to take a
backup of VBA7.1 folder in case something goes wrong.

The suggestion to restart seems a bit unneeded to me — just make sure all office programs that support VBA (Excel, Word, Access, PowerPoint, Outlook) are closed.

Also this latter method seems more like treating the symptoms — to me it doesn’t appear to be the correct way of changing the language of your VBE (merely one suboptimal way).

answered Sep 26, 2018 at 9:34

Inarion's user avatar

InarionInarion

5683 silver badges14 bronze badges

8

I had the same issue except my VBA’s interface was French.
Windows 8.1 and Office 2013 were installed with Hungarian language, Regional and «non-unicode» settings are also set to Hungarian.

I have 3 folders in C:Program Files (x86)Common FilesMicrosoft SharedVBAVBA7.1:
— 1033 — English (US)
— 1036 — French
— 1038 — Hungarian
Source of Language Codes: renenyffenegger.ch

Unfortunately I don’t have administrator rights, so I couldn’t modify files or folders inside Program Files (x86).
I don’t understand how but I can modify HKEY_CURRENT_USER in Registry (regedit.exe).

I’m not sure which one was the solution so I share two things.

First of all, you have to close all Office applications.

#1
In HKEY_CURRENT_USERSoftwareMicrosoftOffice15.0CommonLanguageResources there are more REG_MULTI_SZ Values with data like 0;1038;1033;1036.

Delete the unwanted language code from everywhere. (1031 — German, 1036 — French, etc. see link above)
I deleted 1036 which resulted: 0;1038;1033

They will be automatically restored after you start Excel, but don’t worry about it.

#2
In HKEY_CURRENT_USERSoftwareMicrosoftOffice15.0CommonLanguageResourcesEnabledLanguages set unwanted language code from ExplicitOn to Off or On.

It doesn’t matter what you set because after next start of Excel it will be set to On automatically.

In my case one or both of these was the solution and VBA’s interface language is finally English.

answered Apr 9, 2019 at 12:47

Vikitorony's user avatar

This worked for me (Windows 10 user).

All settings> Time & Language> Region & Language.

Under «Preferred Languages», add the language that you want to use.
If that language is already on the list, make sure it’s at the top (you can move it by single-clicking on it and using the up/down arrows on the left).

You’ll notice a comment under the heading that says: «Apps and languages will appear in the first language that they support.»
In my case, the top language was Norwegian and the next on the list was Chinese. VBA for some reason wouldn’t recognize Norwegian, and assumed Chinese would be the next best thing.
I installed English (US), moved it to the top of the list, and restarted my computer. Boom.

answered Jul 8, 2019 at 19:42

IfyouneedaFix's user avatar

Change Sort Order to Language

Check the order, windows default first, your language so English. This solved the problem for me.

answered Dec 18, 2019 at 8:45

Børge Aune's user avatar

1

The language file for VBA editor interface is stored in the following folder with different subfolders:

"C:Program FilesCommon FilesMicrosoft SharedVBAVBA7.1"

You need to search for VBEUIINTL.dll

This folder has around 1033 subfolder and its contents are for English interface. The other ones are for different languages. Sometimes VBA chooses the wrong subfolder. So you basically need to copy the contents of 1033 folder:

"C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.11033APC71ITL.DLL"
"C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.11033VBE7INTL.DLL"
"C:Program FilesCommon Filesmicrosoft sharedVBAVBA7.11033VBEUIINTL.DLL"

to the your current folder for changing the language.

Before you do this, make a back-up first.

answered Sep 26, 2018 at 9:39

jackrider's user avatar

2

I had same issue with VBA editor in German language.
In Excel settings I moved German language to below and English language on up and after restarted was VBA editor in English.

Excel settings — picture

answered Jan 12, 2022 at 13:28

Mike_BossO's user avatar

Смена раскладки клавиатуры в VBA Excel с РУС на ENG и наоборот с помощью функций Windows API. Автоматическое изменение раскладки в пределах одной таблицы.

Смена раскладки клавиатуры

Поочередная смена раскладки

Для организации поочередной смены раскладки клавиатуры с РУС на ENG и наоборот, имитирующей нажатие сочетания клавиш (Win + Space, Alt + Shift, Ctrl + Shift — в зависимости от ваших настроек), можно использовать функцию Windows API ActivateKeyboardLayout, объявленную в разделе Declarations стандартного модуля:

Declare PtrSafe Function ActivateKeyboardLayout Lib «user32» (ByVal HKL As LongPtr, ByVal flags As LongPtr) As LongPtr

Код VBA Excel для поочередного изменения раскладки клавиатуры:

Sub ToEngOrRus()

Call ActivateKeyboardLayout(0, 0)

End Sub

Заданная смена раскладки

Для смены раскладки клавиатуры из кода VBA Excel с указанием устанавливаемого языка используется функция Windows API LoadKeyboardLayout, объявленная в разделе Declarations стандартного модуля:

Declare PtrSafe Function LoadKeyboardLayout Lib «user32» Alias «LoadKeyboardLayoutA» (ByVal pwszKLID As String, ByVal flags As LongPtr) As LongPtr

Код VBA Excel для изменения раскладки клавиатуры с указанием устанавливаемого языка:

‘Переключение на английскую раскладку

Sub ToEng()

Call LoadKeyboardLayout(«00000409», &H1)

End Sub

‘Переключение на русскую раскладку

Sub ToRus()

Call LoadKeyboardLayout(«00000419», &H1)

End Sub

"00000409" — код английской раскладки;
"00000419" — код русской раскладки.

Определение текущей раскладки

Получить значение текущей раскладки можно с помощью функции Windows API GetKeyboardLayoutName, объявленной в разделе Declarations стандартного модуля:

Declare PtrSafe Function GetKeyboardLayoutName Lib «user32» Alias «GetKeyboardLayoutNameA» (ByVal pwszKLID As String) As LongPtr

Код определения текущей раскладки для вариантов РУС и ENG:

Sub KeyboardLayoutName()

Dim klName As String * 8

GetKeyboardLayoutName klName

    If klName = «00000409» Then

        MsgBox «Текущая раскладка — Английская!»

    ElseIf klName = «00000419» Then

        MsgBox «Текущая раскладка — Русская!»

    Else

        MsgBox «Текущая раскладка — не Русская и не Английская!»

    End If

End Sub

Переменная klName объявлена как строка фиксированной длины. Запуск процедуры с обычной переменной может вызывать ошибку, закрывающую приложение. Так происходит в моей версии Excel 2016.

Смена раскладки в таблице

Автоматическое изменение раскладки в пределах одной таблицы при переходе между ячейками.

Для автоматической смены раскладки при переходе между ячейками разных диапазонов одного рабочего листа будем использовать функцию Windows API LoadKeyboardLayout, объявленную в разделе Declarations стандартного модуля:

Declare PtrSafe Function LoadKeyboardLayout Lib «user32» Alias «LoadKeyboardLayoutA» (ByVal pwszKLID As String, ByVal flags As LongPtr) As LongPtr

Допустим, что в 5 и 7 столбцах нашей таблицы находятся данные на английском языке или, попросту, требующие ввод латиницей. Чтобы не переключать каждый раз раскладку клавиатуры вручную, разместим в модуле нужного листа следующий код VBA Excel:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Select Case Target.Column

        Case 5, 7

            Call Module3.LoadKeyboardLayout(«00000409», &H1)

        Case Else:

            Call Module3.LoadKeyboardLayout(«00000419», &H1)

    End Select

End Sub

Теперь при переходе к ячейкам 5 и 7 столбцов раскладка клавиатуры автоматически меняется на ENG, а при уходе с них — на РУС.

Module3 — это стандартный модуль, в котором размещена функция Windows API LoadKeyboardLayout.


Автор: Кулик Алексей aka kpblc | Дата: 29 Январь 2018 · Прокомментировать 

Как же много информации можно найти в сети! Попробовал тут запустить VBA для Office 2013 / 2016. Все хорошо, кроме одного — меню в VBA редакторе сплошными иероглифами. Вопрос — как бороться?

Ну, понятно, что гугл наше все. Минута поиска — и попадаю на Планету Excel:

Решение простое.
Файл->Параметры->Язык->Выбор языков редактирования->Установить английский по умолчанию.
Перезагрузить Еxcel

Все! Ничего переустанавливать не надо! :)

Похожее

Размещено в VBA · Метки: Office, VBA

1 / 1 / 0

Регистрация: 07.11.2013

Сообщений: 4

1

03.08.2016, 13:49. Показов 29114. Ответов 9


Студворк — интернет-сервис помощи студентам

Здравствуйте, подскажите, где меняется язык интерфейса VBA? Вместо английского меню отображаются иероглифы

Миниатюры

Поменять язык интерфейса VBA
 



0



190 / 59 / 20

Регистрация: 16.07.2013

Сообщений: 234

03.08.2016, 13:56

2

В самом экселе попробуйте посмотреть

Миниатюры

Поменять язык интерфейса VBA
 



0



1 / 1 / 0

Регистрация: 07.11.2013

Сообщений: 4

03.08.2016, 14:18

 [ТС]

3

спасибо, языки указаны верно. проблема появилась после установки VBA для автокада, в актокаде меню отображается нормально, в word и excel -иероглифы

Миниатюры

Поменять язык интерфейса VBA
 



1



2 / 2 / 0

Регистрация: 25.05.2016

Сообщений: 1

14.11.2016, 12:44

4

Меняем язык, перезапускаем Excel..

Миниатюры

Поменять язык интерфейса VBA
 



2



1 / 1 / 0

Регистрация: 26.03.2017

Сообщений: 1

26.03.2017, 17:42

5

Большое спасибо!!! Помогло!



1



0 / 0 / 0

Регистрация: 16.03.2020

Сообщений: 1

06.11.2020, 22:08

6

Большое спасибо



0



0 / 0 / 0

Регистрация: 26.05.2016

Сообщений: 14

16.02.2021, 11:52

7

А руссифицировать можно как нибудь?



0



0 / 0 / 0

Регистрация: 18.06.2021

Сообщений: 1

21.06.2021, 09:58

8

К сожалению не помогло. Может не хватает шрифтов?



0



ᴁ®

Эксперт MS Access

3070 / 1736 / 361

Регистрация: 13.12.2016

Сообщений: 5,938

Записей в блоге: 4

21.06.2021, 11:31

9

Цитата
Сообщение от Igel800
Посмотреть сообщение

К сожалению не помогло. Может не хватает шрифтов?

Тема 16 года. Если у вас проблема, создайте новую тему с описанием. (тоже автокад устанавливали?)
Но для начала откатите шрифты



0



0 / 0 / 0

Регистрация: 08.09.2022

Сообщений: 1

08.09.2022, 12:06

10

Мне помогло!
Смена «Языки разработки и проверка..» на английский переключил — вместо иероглифов в VBA стал норм английский.

Миниатюры

Поменять язык интерфейса VBA
 



0



Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как поменять язык excel 2016
  • Как поменять язык функций в excel
  • Как поменять юникод в excel
  • Как поменять язык формул в excel на английский
  • Как поменять шрифты для word

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии