Как преобразовать текст в число с помощью Excel VBA (3 примера с макросами)

  • Поделись Этим
Hugh West

В 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.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.