Решил изучить VBA в Excel для повышения уровня автоматизации работы. Открыл редактор, а он то ли на Китайском, то ли на Корейском языке.
Русский язык в редактор не завезли, но хотя бы можно включить английский. Для этого нужно закрыть редактор и в ленте нажать «Файл».
В открывшемся меню нужно нажать «Параметры».
Откроется окно «Параметры Excel». В блоке слева нужно выбрать «Язык». Для параметра «Выбор языков редактирования» необходимо выбрать вариант «английский (США)» и нажать кнопку «По умолчанию».
Программа выдаст предупреждение. Если вы всё ещё не способны читать иероглифы — нажмите «Да».
Далее в окне «Параметры Excel» нажмите «ОК». Программа выдаст сообщение, что для вступлению изменений в силу требуется перезагрузка. Нажимаем «ОК» и перезапускаем программу.
После повторного запуска программы, вместо иероглифов отобразились слова на английском языке.
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.
asked Sep 26, 2018 at 8:56
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)
answered Aug 23, 2020 at 14:25
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
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
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
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
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
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
1 / 1 / 0 Регистрация: 07.11.2013 Сообщений: 4 |
|
1 |
|
03.08.2016, 13:49. Показов 29107. Ответов 9
Здравствуйте, подскажите, где меняется язык интерфейса VBA? Вместо английского меню отображаются иероглифы Миниатюры
0 |
190 / 59 / 20 Регистрация: 16.07.2013 Сообщений: 234 |
|
03.08.2016, 13:56 |
2 |
В самом экселе попробуйте посмотреть Миниатюры
0 |
1 / 1 / 0 Регистрация: 07.11.2013 Сообщений: 4 |
|
03.08.2016, 14:18 [ТС] |
3 |
спасибо, языки указаны верно. проблема появилась после установки VBA для автокада, в актокаде меню отображается нормально, в word и excel -иероглифы Миниатюры
1 |
2 / 2 / 0 Регистрация: 25.05.2016 Сообщений: 1 |
|
14.11.2016, 12:44 |
4 |
Меняем язык, перезапускаем Excel.. Миниатюры
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 |
ᴁ® 3070 / 1736 / 361 Регистрация: 13.12.2016 Сообщений: 5,938 Записей в блоге: 4 |
|
21.06.2021, 11:31 |
9 |
К сожалению не помогло. Может не хватает шрифтов? Тема 16 года. Если у вас проблема, создайте новую тему с описанием. (тоже автокад устанавливали?)
0 |
0 / 0 / 0 Регистрация: 08.09.2022 Сообщений: 1 |
|
08.09.2022, 12:06 |
10 |
Мне помогло! Миниатюры
0 |
Автор: Кулик Алексей aka kpblc | Дата: 29 Январь 2018 · Прокомментировать
Как же много информации можно найти в сети! Попробовал тут запустить VBA для Office 2013 / 2016. Все хорошо, кроме одного — меню в VBA редакторе сплошными иероглифами. Вопрос — как бороться?
Ну, понятно, что гугл наше все. Минута поиска — и попадаю на Планету Excel:
Решение простое.
Файл->Параметры->Язык->Выбор языков редактирования->Установить английский по умолчанию.
Перезагрузить Еxcel
Все! Ничего переустанавливать не надо!
Похожее
Размещено в VBA · Метки: Office, VBA
Ex2016″Разработчик»-«Visual Basic»всё на китайском |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Смена раскладки клавиатуры в 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
.
- Remove From My Forums
-
Вопрос
-
Добрый день!
Прошу помочь, есть ли возможность в MS Office Excele, в пакете анализа — VBA переключение на русский язык?
Чтобы панель инструментов была на русском языке. Сам Excel на русском языке, язык системы тоже русский. Версия Excela — Professional Plus 2010. ПО лицензионное
-
Изменено
29 января 2015 г. 6:56
-
Изменено
Ответы
-
Нет такой возможности, для Панели инструментов VBA.
Да, я Жук, три пары лапок и фасеточные глаза :))
-
Изменено
ЖукMVP, Moderator
29 января 2015 г. 22:55 -
Предложено в качестве ответа
ЖукMVP, Moderator
3 февраля 2015 г. 12:06 -
Помечено в качестве ответа
ЖукMVP, Moderator
4 февраля 2015 г. 0:12
-
Изменено