Съдържание
В 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.