Функція форматування VBA

Цей підручник продемонструє, як використовувати функцію форматування.

Функція форматування

Форматувати номери заздалегідь визначеними форматами

Функція форматування може конвертувати число в рядок, відформатований за допомогою попередньо визначених іменованих числових форматів. Заздалегідь визначені формати: валюта, фіксований, стандартний, відсоток, науковий, так/ні, правда/хибність та увімкнення/вимкнення.

12345678910111213141516171819202122232425262728293031 Підформат Приклад_1 ()Формат MsgBox (1234567.8) 'Результат: 1234567.8'Формат просто залишає номер таким, яким він єФормат MsgBox (1234567,8, "Валюта") "Результат: $ 1 234 567,80'Валюта використовує параметри валюти системиФормат MsgBox (1234567.8, "Виправлено") 'Результат: 1234567.80'Виправлено: принаймні одна цифра перед десятковою комою та'використовує системні налаштування для десяткової частиниФормат MsgBox (1234567,8, "Стандартний") 'Результат: 1 234 567,80«Стандарт: тисячі роздільників і стандартна системаФормат MsgBox (1234567,8, "Відсоток") "Результат: 123456780,00%'Відсоток, множиться на 100 з % і стандартна система.Формат MsgBox (1234567.8, "Науковий") 'Результат: 1.23E+06'Наукове позначенняФормат MsgBox (1234567.8, "Так/Ні") 'Результат: Так'Ні, якщо число дорівнює нулюФормат MsgBox (1234567.8, "True/False") 'Результат: True'Неправда, якщо число дорівнює нулюФормат MsgBox (1234567.8, "Увімк./Вимк.") Результат: Увімкнено'Вимкнено, якщо число дорівнює нулюEnd Sub

Форматуйте номери у форматі, визначеному користувачем

Функція форматування може конвертувати число в рядок, відформатовані визначені користувачем числові формати. 0 - це заповнювач цифр, який відображає цифру або нуль. # - це заповнювач цифр, який відображає цифру або нічого. Точка (.) - це десятковий заповнювач, % - відсоток заповнювача, а кома (,) - роздільник тисяч. Текст можна додати у форматі, використовуючи подвійні лапки (“”), а також можна додати один символ, якщо він використовується після зворотної скісної риски (\).

1234567891011 Підформат Приклад_2 ()Формат MsgBox (7.8, "000.00") "Результат: 007.80Формат MsgBox (12347.8356, "000.00") 'Результат: 12347.84Формат MsgBox (7.8, "###. ##") 'Результат: 7.8Формат MsgBox (12347.8356, "###. ##") 'Результат: 12347.84Формат MsgBox (7,8, "\ $. 00") 'Результат: $ 7,80Формат MsgBox (1237.835, "ABA0.00") 'Результат: ABA1237.84Формат MsgBox (12347.8356, "000.00%") 'Результат: 1234783.56%Формат MsgBox (12347.8356, " %000.00") 'Результат: %12347.84End Sub

Форматувати номери залежно від значень

Функція форматування може мати різні розділи з використанням різних правил форматування для позитивних чисел, від’ємних чисел, нуля та нуля. Ці розділи розділені крапкою з комою.

1234567 Підформат Приклад_3 ()Формат MsgBox (7.8, "000.00; (000.00); \ z \ e \ r \ o; нічого") "Результат: 007.80Формат MsgBox (-7.8, "000.00; (000.00); \ z \ e \ r \ o; нічого") "Результат: (007.80)Формат MsgBox (0, "000.00; (000.00); \ z \ e \ r \ o; нічого") "Результат: нульMsgBox Format (Null, "000.00; (000.00); \ z \ e \ r \ o; nothing") 'Результат: нічогоEnd Sub

Форматувати дати заздалегідь визначеними форматами

Функція форматування може форматувати дати з різними заздалегідь визначеними форматами. Ці формати мають тривалий, середній та короткий термін, а також довгий, середній та короткий час.

1234567891011121314 Підформат Приклад_4 ()Затемнити DateEx як датуDateEx = #4/18/2020 7:35:56 PM #Формат MsgBox (DateEx, "Загальна дата") Результат: 18.04.2020 19:35:56Формат MsgBox (DateEx, "Довга дата") Результат: субота, 18 квітня 2022 р.Формат MsgBox (DateEx, "Середня дата") Результат: 18 квітня 20Формат MsgBox (DateEx, "Коротка дата") Результат: 18.04.2020Формат MsgBox (DateEx, "Тривалий час") Результат: 19:35:56 вечораФормат MsgBox (DateEx, "Середній час") Результат: 19:35Формат MsgBox (DateEx, "Короткий час") Результат: 19:35End Sub

Форматування дат із визначеними користувачами форматами

Функція форматування може відформатувати дати з визначеними користувачем форматами. Такі символи, як d, m, y, w, q можна використовувати для створення власних форматів дати.

123456789101112131415161718192021222324 Підформат Приклад_5 ()Затемнити DateEx як датуDateEx = #4/18/2020 7:35:56 PM #Формат MsgBox (DateEx, "м/д/рр") 'Результат: 18.04.2020MsgBox Format (DateEx, "mm-dd-yy") 'Результат: 18.04.2020Формат MsgBox (DateEx, "mmm-dd-yy") 'Результат: квітень-18-2020Формат MsgBox (DateEx, "mmmm-dd-yy") 'Результат: квітень-18-2020Формат MsgBox (DateEx, "mm-ddd-yy") 'Результат: 04-Сб-2020Формат MsgBox (DateEx, "mm-dddd-yy") 'Результат: 04-субота-2020Формат MsgBox (DateEx, "y")Результат: 109'число днів у році 1-366Формат MsgBox (DateEx, "ww")Результат: 16'кількість тижнів у році 1-52Формат MsgBox (DateEx, "q")Результат: 2квартал у 1-4 роціEnd Sub

Для створення власних форматів часу можна використовувати такі символи, як h, n, s та am, pm.

123456789101112 Підформат Приклад_6 ()Затемнити DateEx як датуDateEx = #4/18/2020 19:06:05 PM #Формат MsgBox (DateEx, "h: n: s") 'Результат: 19: 6: 5Формат MsgBox (DateEx, "hh: nn: ss") 'Результат: 19:06:05Формат MsgBox (DateEx, "hh: nn: ss am/pm") 'Результат: 07:06:05 вечораФормат MsgBox (DateEx, "hh: nn: ss AM/PM") 'Результат: 19:06:05 PMФормат MsgBox (DateEx, "hh: nn: ss a/p") 'Результат: 07:06:05 pФормат MsgBox (DateEx, "hh: nn: ss A/P") 'Результат: 07:06:05 PEnd Sub

Формат для кращої читабельності

Функція форматування може відформатувати рядки або числа для кращої читабельності. @ - це заповнювач символів, який використовується для відображення символу або пробілу. & - це заповнювач символів, який використовується для відображення символу або нічого. ! може використовуватися для використання символів -заповнювачів символів зліва направо, а також для застосування нижнього або верхнього регістру. Може бути корисним при форматуванні телефонних номерів або інших великих номерів без зміни початкового значення.

12345678910111213141516171819202122 Підформат Приклад_7 ()Dim StrEx як рядокStrEx = "ABCdef"Формат MsgBox (StrEx, "-@@@-@@-@@") "Результат:-AB-Cd-efФормат MsgBox (StrEx, "-&&&-&&-&&") Результат: -AB-Cd-ef'Починається справа наліво.Формат MsgBox (StrEx, "-@@@-@@-@@-@@") "Результат:--AB-Cd-efФормат MsgBox (StrEx, "-&&&-&&-&&-&&") Результат: --AB-Cd-ef'Починається справа наліво. Коли з символів @ додає пробіли і & нічого не додаєФормат MsgBox (StrEx, "!-@@@-@@-@@-@@") "Результат: -ABC-de-f-Формат MsgBox (StrEx, "!-&&&-&&-&&-&&") 'Результат: -ABC-de-f'Починається зліва направо через!Формат MsgBox (StrEx, ">") 'Результат: ABCDEFФормат MsgBox (StrEx, "<") 'Результат: abcdefФормат MsgBox (1234567890, "@@@-@@@-@@@@") "Результат: 123-456-7890Формат MsgBox (1234567890, "@@@@-@@@-@@@") "Результат: 1234-567-890End Sub

Шаблони форматування у клітинках аркуша

Функцію форматування можна використовувати у коді VBA, а також у клітинках аркушів. Виберіть клітинку або діапазон клітинок і дотримуйтесь пункту меню Формат клітинок> Користувацький. Існує багато форматів, визначених користувачем, а також користувач може створювати власні користувацькі формати.

Шаблони форматування з текстовою формулою

Функція форматування може безпосередньо змінювати формат значення всередині коду VBA. Ми також можемо використовувати формулу Excel для отримання того самого результату за допомогою WorksheetFunction.Text.

1234567891011 Підформат Приклад_8 ()Формат MsgBox (7.8, "000.00")Результат: 007.80MsgBox WorksheetFunction.Text (7.8, "000.00")Результат: 007.80Формат MsgBox (7.8, "###. ##")Результат: 7.8MsgBox WorksheetFunction.Text (7.8, "###. ##")Результат: 7.8End Sub

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave