Как да преобразуваме текст в число с 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 . Това ще отвори Macro диалогов прозорец.

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 . Това ще отвори Macro диалогов прозорец.

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 . Това ще отвори Macro диалогов прозорец.

6. След това изберете ConvertDynamicRanges и щракнете върху Работете.

Както можете да видите, с помощта на кодовете VBA успешно преобразуваме текст в числа.

💬 Нещата, които трябва да запомните

✎ Тук използваме колона B за нашата съвкупност от данни. Ако данните ви са в друга колона, променете съответно обхвата на клетките в кодовете VBA.

✎ Кодовете VBA ще работят само на активния лист.

Заключение

В заключение се надявам, че този урок ви е предоставил част от полезните знания за преобразуването на текст в число в Excel с помощта на VBA кодове. Препоръчваме ви да научите и приложите всички тези инструкции към вашата съвкупност от данни. Изтеглете работната тетрадка за упражнения и ги изпробвайте сами. Също така не се колебайте да дадете обратна връзка в раздела за коментари. Вашата ценна обратна връзка ни мотивира да създаваме подобни уроци.Не забравяйте да проверите нашия уебсайт Exceldemy.com за различни проблеми и решения, свързани с Excel.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.