Преглед садржаја
У овом чланку ћемо разговарати о неколико метода за претварање стринга у број у Екцел ВБА. Видећемо како да користимо уграђене функције и да креирамо прилагођену функцију помоћу њих за претварање стринга у број са примерима ВБА кода.
Преузми радну свеску за вежбу
Преузмите ову радну свеску за вежбање док читате овај чланак.
Претворите стринг у број.клсм
3 начина за претварање стринга у број у програму Екцел ВБА
1. Конвертујте стринг у број користећи функције за конверзију типа
Екцел обезбеђује неколико уграђених функција конверзије типа . Можемо их користити у нашем ВБА коду да лако конвертујемо из стринг типа података у различите типове података.
1.1 Стринг у цео број
Да бисте претворили стринг у интегер , можемо користити ЦИнт функцију у нашем коду. ЦИнт функција узима само један аргумент и то би требало да буде нумеричка вредност . Покушајмо са следећим кодом у уређивачу визуелног кода.
1546
Притисните Ф5 да покренете код . Излаз је приказан у МсгБок .
Функција ЦИнт конвертовала је нумерички низ вредност (“12.3” ) у цео број 12.
Да бисте разумели више о ЦИнт функцији , покрените следеће код у уређивачу кода и посматрајте резултате .
8647
излаз је овде уследећи снимак екрана .
Објашњење кода
У овом коду смо користили За… Следећа петља за примену ЦИнт функције на низове ћелија Б3:Б7. излази се штампају у ћелијама Ц3:Ц7. Користили смо функцију Ћелије да одредимо улазне вредности и где да штампамо излазне вредности.
Резултати
Функција ЦИнт конвертује 25,5 у следећи цео број 26 . С друге стране, конвертује 10,3 у 10, а не 11 . Када је децимална нумеричка вредност мања од 0,5, функција заокружује на исти број. Али децимална нумеричка вредност низа претвара се у следећи цео број број ако је једнак или већи од .5.
Напомена
Цела вредност има опсег између -32,768 до 32,767 . Ако ставимо нумеричку вредност која је изван овог опсега , Екцел ће приказати грешку .
1.2 Стринг то Лонг
Функција ЦЛнг конвертује вредност нумеричког низа у лонг дататипе . Ради слично ЦИнт функцији. Кључна разлика лежи у његовом опсегу који је између -2,147,483,648 и 2,147,483,647.
The code to run is here below:8801
Овде ћелије Б3:Б9 садрже неку нумеричку вредност низа , а конвертовани л лонг бројеви су у ћелијама Ц3:Ц9. ЦЛнг функција конвертује -32800 и 32800 успешно у дуге бројеве што ЦИнт функција није могла. Али такође ће добити грешку ако је улазна нумеричка вредност изван опсега.
1.3 Стринг у децимал
Користећи ЦДец функцију можемо конвертовати а нумеричка вредност низа до децимални тип података. Покрените следећи код да конвертујете нумеричке вредности у ћелијама Б3:Б7 у децимални тип података.
2851
1.4 Стринг то Сингле
У овом примеру, претворићемо улазне низове у сингле дататипе (сингле -прецизни бројеви са помичним зарезом. За ово треба да користимо ЦСнг функцију .
Појединачни тип података се креће од- (и) -3,402823Е38 до -1,
337298Е-45 за негативне бројеве.
(ии) 1.
337298Е-45 4 3. позитивни бројеви.
Покрените следећи код у визуелном основном уређивачу.
8409
У излазу, ћелије Б3:Б9 садрже неку нумеричку вредност низа, и конвертовани појединачни типови података су у ћелијама Ц3:Ц9. Али такође ће добити грешку ако је улазна нумеричка вредност ван опсега.
1.5 Стринг то Доубле
У овом примеру, претворићемо улазне стрингове у доубле дататипе (плутајуће са двоструком прецизношћу -тачка) бројеви. За ово нам требада користите ЦДбл функцију .
Двоструки тип података у опсегу- (и) -1,79769313486231Е308 до -4,94065645841247Е-324 за негативни бројеви.
(ии) 4.94065645841247Е-324 од 4.94065645841247Е-324 за 4.94065645841247Е-324 од 324 <и3>1 од 8 од 3 до 4>1 од 8 од 8 од 12 од 32>1 од 10 од 30>1>. .
Покрените следећи код у визуелном основном уређивачу.
2627
У излазу ћелије Б3:Б9 садрже неке нумеричка вредност стринга и конвертовани бројеви двоструког типа података су у ћелијама Ц3:Ц9. Али ће такође добити грешку ако је унос нумеричка вредност је ван опсега.
1.6 Стринг то Цурренци
Тип података цурренци је згодан када се прорачуни односе на новац . Штавише, ако желимо више тачности у фиксном – тачком калкулацији , употреба типа података валуте је добар избор. Морамо да користимо ЦЦур функцију да конвертујемо стринг у тип података валуте . Тип података у распону од -922,337,203,685,477,5808 до 922,337,203,685,477,5808.
Код у цонверт нумериц стринг валуе 4> ћелија Б3:Б7 до тип података валуте у ћелијама Ц3:Ц7 је овде испод.
5197
1.7 стринг у бајт
Функција ЦБите конвертује нумеричке вредности низа у бајт тип података који се креће од 0 до 255.
Код је каоследи :
3046
У излазу, ћелије Б3:Б9 садрже неку нумеричку вредност стринга, и бројеве типа података конвертованих бајтова су у ћелијама Ц3:Ц9. Али такође ће добити грешку ако је улазна нумеричка вредност ван опсега.
Прочитајте више: Како претворити стринг у дуг користећи ВБА у програму Екцел
Слична очитања
- Претворити стринг у дупли у Екцел ВБА (5 метода)
- Како претворити текст у број помоћу Екцел ВБА (3 примера са макроима)
- Поправити грешку при конверзији у број у Екцел-у (6 метода)
- Како претворити научну нотацију у број у Екцел-у (7 метода)
2. Употреба прилагођене ВБА функције за проверу и претварање стринга у број у Екцел-у
У овој илустрацији направићемо прилагођену функцију за претварање низове до бројева. Затим можемо користити ову прилагођену функцију у нашем радном листу као уграђену функцију . У овом примеру, користићемо ЦИнт функцију да конвертујемо стрингове у целе бројеве док креирамо прилагођену функцију. Такође бисмо могли да користимо све друге функције описане у методу 1 да претворимо стрингове у различите типове података . Сада пратите доле наведене кораке да бисте ово постигли.
Кораци:
- Овде, у ћелијама Б3:Б7, имамо неке нумерички низвредности.
- Сада, у основном визуелном уређивачу, копирајте и налепите следећи код и затим притисните Цтрл + С да сачувате
6120
- У ћелији Ц3 , почните да куцате име функције ( СтрингТоНумбер ). Екцел ће аутоматски предложити функцију да се користи. Притисните тастер Таб да бисте ушли у функцију.
- Поставите референцу ћелије Б3 као једини аргумент.
- Сада притисните Ентер након затварања заграда.
- Пронађите ручицу за попуњавање у десном доњем углу ћелије Ц3 да бисте применили функција за ћелије Ц4:Ц7.
- Коначни излаз су жељени цели бројеви из вредности низа .
3. ВБА код за претварање изабраног опсега ћелија у бројеве у Екцел-у
У овој илустрацији ћемо конвертовати опсег од одабраних ћелија садрже вредности низа целих бројева. Ако било која ћелија садржи ненумеричку вредност у себи, излаз ће бити цртица (-) линија уместо . Пратите кораке :
- Изаберите ћелије Б3:Б6 које имају нумеричке низове вредности и Б7 које садрже ненумерички
- У Висуал Басиц Едитор-у копију и налепите следеће цоде .
3372
- Сада притисните Ф5 да покренете излаз као што је приказано на следећи снимак екрана .
Напомене
- Користили смо јеНумеричка функција у 2. и 3. методу у нашем ВБА коду која проверава да ли се израз може конвертовати у број.
- Ин метод 1 , користили смо уграђене функције (ЦИнт, ЦДбл, ЦСнг…..) да конвертујемо вредности нумеричког низа у бројеве . Али ако постоји ненумеричка вредност , приказаће грешку неподударања .
Закључак
Сада знамо како да конвертујемо вредности стрингова у бројеве у Екцел-у. Надамо се да би вас то подстакло да ову функцију користите са више самопоуздања. Било каква питања или сугестије не заборавите да их ставите у поље за коментаре испод.