Изменение формата валюты для отдельной книги (Microsoft Excel)
У Джорджа есть единственная рабочая тетрадь, в которой он должен отправлять информацию в формате валюты Латинской Америки, например: 238.769,76. Джордж не смог придумать способ справиться с этим, не считая изменения своих глобальных настроек. Он задается вопросом, есть ли способ изменить формат валюты только для одной книги.
«Глобальные настройки», о которых говорит Джордж, технически называются Microsoft «региональными настройками». Они действительно обрабатываются непосредственно Windows, поэтому любые изменения затрагивают все программы, работающие в Windows, включая Excel.
Существует способ временно изменить настройки с помощью макроса VBA для выполнения волшебных действий. Если вы привяжете этот макрос к открытию и закрытию определенной книги, то ваши потребности могут быть удовлетворительно выполнены. Вот макросы:
Dim oldDecimalSep As String Dim oldThousandsSep As String Private Sub Workbook_Open() oldDecimalSep = Application.International(xlDecimalSeparator) oldThousandsSep = Application.International(xlThousandsSeparator) Application.DecimalSeparator = "," Application.ThousandsSeparator = "." Application.UseSystemSeparators = False End Sub
Private Sub Workbook_ BeforeClose(Cancel As Boolean) Application.DecimalSeparator = oldDecimalSep Application.ThousandsSeparator = oldThousandsSep Application.UseSystemSeparators = False End Sub
Чтобы использовать эти макросы, откройте книгу, в которой вы хотите использовать разные разделители формата. Затем откройте редактор Visual Basic и дважды щелкните объект ThisWorkbook в окне проекта. Поместите код макроса в окно кода и сохраните все.
Теперь, когда вы открываете книгу, Excel сохраняет существующую информацию о разделителе и изменяет ее, чтобы использовать запятые и точки по своему усмотрению.
Когда книга закрывается, информация старого разделителя восстанавливается.
Есть одна проблема с этим кодом: пока книга открыта, любая другая открытая книга будет использовать другое форматирование. Уловка, таким образом, состоит в том, чтобы работать только с «специальной» книгой, зная, что, когда вы ее закроете, все вернется в норму.
При использовании такого кода нужно помнить одну вещь: вы меняете только то, как форматируются числа, которые вы видите. Возможно, вам даже не понадобится это делать из-за того, как Windows обрабатывает региональные настройки. Другими словами, вы можете увидеть в Excel такое число:
1 234 567,89. Когда вы отправляете эту книгу пользователю в стране, в которой используются другие региональные настройки, он будет видеть это так:
1.234.567,89. Другими словами, Windows заботится о правильном отображении чисел для региона мира, в котором они отображаются.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (13307) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.