Зміст
В Microsoft Excel робота з числами є найбільш поширеною. Іноді нам доводиться обробляти набір даних з великою кількістю чисел. Але, ви можете опинитися в ситуації, коли ваші числа виглядають як текст. З цієї причини ви не можете додавати, віднімати, ділити, множити або виконувати будь-які операції. Він завжди показує помилку, коли ви намагаєтеся це зробити. У цьому уроці ми навчимо вас, як перетворититекст в число в Excel за допомогою VBA коди з відповідними прикладами та належними ілюстраціями.
Завантажити Практичний посібник
Завантажити цей робочий зошит з практики
Перетворення тексту в числа за допомогою VBA.xlsm
Як ідентифікувати числа, відформатовані як текст
Microsoft Excel достатньо розумний, щоб зрозуміти різницю між текстом і числом. Він автоматично перетворює їх у відповідні формати. Але іноді він не може цього зробити через неправильне використання та неправильну інтерпретацію набору даних. З цієї причини він зберігає ці числа як текст у вашій робочій книзі.
Подивіться на цей набір даних. Тут у нас є кілька чисел у стовпчику.
Хоча в стовпчику є числа, всі вони вирівняні по лівому краю, як і текст. Тепер клацніть будь-яку комірку, і ви побачите це поле поруч з коміркою.
Тепер наведіть курсор миші на поле, після чого ви побачите таке повідомлення.
Він показує, що комірка відформатована як текст. Таким чином, ви можете бути впевнені, чи відформатована комірка як текст чи ні.
3 коди VBA для перетворення тексту в число в Excel
Хоча ви можете легко перетворити текст в числа вручну, цей урок присвячений перетворенню тексту в числа за допомогою кодів VBA. Ми рекомендуємо вам вивчити і застосувати всі ці методи до вашого набору даних. Напевно, це стане в нагоді в багатьох ситуаціях.
1. Код на VBA з методом Range.NumberFormat для перетворення тексту в число в Excel
Цей метод досить простий і може бути використаний для будь-якого набору даних. Все, що вам потрібно зробити, це виділити діапазон комірок і вставити його в поле VBA код .
📌 Кроки
1. спочатку натисніть ALT+F11 на клавіатурі, щоб відкрити Редактор VBA .
2. натисніть на Вставка> Модуль .
3. далі введіть наступний код:
Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub
4. збережіть файл.
5. потім натисніть ALT+F8 Він відкриє Макрос діалогове вікно.
6. виберіть ConvertTextToNumber і натисніть на Біжи.
Зрештою, цей код перетворить наш текст на цифри.
Читати далі: Як перетворити рядок у число в Excel VBA
2. код VBA з циклом та CSng для перетворення тексту в число
У цьому методі ми використовуємо Петля і CSng Функції. CSng приймає в якості аргументу будь-який текст і перетворює його в одне число. Наш цикл пройде по кожній комірці виділеного стовпця. Після цього ми передамо значення кожної комірки в функцію CSng для перетворення його з тексту в число.
📌 Кроки
1. спочатку натисніть ALT+F11 на клавіатурі, щоб відкрити Редактор VBA .
2. натисніть на Вставка> Модуль .
3. далі введіть наступний код:
Sub ConvertUsingLoop() For Each r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(r) Then r.Value = CSng(r.Value) r.NumberFormat = "General" End If Next End Sub
4. збережіть файл.
5. потім натисніть ALT+F8 Він відкриє Макрос діалогове вікно.
6. виберіть ConvertUsingLoop і натисніть на Біжи.
Як бачите, за допомогою цього VBA коду ми перетворили наш текст в цифри.
Схожі читання
- Масове перетворення тексту в число в Excel (6 способів)
- Як перетворити рядок у довгий за допомогою VBA в Excel (3 способи)
- Перетворення рядка в подвійний в Excel VBA (5 способів)
- Як виправити помилку перетворення в число в Excel (6 способів)
3. перетворення тексту в числа для динамічних діапазонів в Excel
Тепер, попередні методи були для вибраних діапазонів. Це означає, що вам потрібно вручну ввести діапазон комірок в код. Але іноді ваш набір даних може бути великим. У таких випадках вам потрібно запам'ятати діапазон комірок. Цей метод подолає цю проблему. Ми знаємо, що наш набір даних починається з Комірка B5 Але ми не знаємо, чим це може закінчитися.
Отже, ми динамічно визначаємо останній використаний рядок excel, в якому є дані, використовуючи Cells(Rows.Count, "B").End(xlUp).Row
Повертає останній непорожній номер рядка, який ми об'єднуємо з " B5:B ".
📌 Кроки
1. спочатку натисніть ALT+F11 на клавіатурі, щоб відкрити Редактор VBA .
2. натисніть на Вставка > Модуль .
3. далі введіть наступний код:
Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub
4. збережіть файл.
5. потім натисніть ALT+F8 Він відкриє Макрос діалогове вікно.
6. потім виберіть ConvertDynamicRanges і натисніть на Біжи.
Як бачите, ми успішно конвертуємо текст в цифри за допомогою кодів VBA.
💬 Що варто пам'ятати
Тут ми використовуємо стовпець B для нашого набору даних. Якщо ваші дані знаходяться в іншому стовпці, змініть діапазон комірок у кодах VBA відповідним чином.
✎ Коди VBA будуть працювати тільки на активному аркуші.
Висновок
На завершення, я сподіваюся, що цей урок надав вам трохи корисних знань про перетворення тексту в число в Excel за допомогою кодів VBA. Ми рекомендуємо вам вивчити і застосувати всі ці інструкції до вашого набору даних. Завантажте практичний посібник і спробуйте їх самостійно. Також не соромтеся залишати відгуки в розділі коментарів. Ваші цінні відгуки мотивують нас створювати подібні уроки.Не забувайте слідкувати за новинами на нашому сайті Exceldemy.com для вирішення різних проблем, пов'язаних з Excel, та їх вирішення.