Змест
У гэтым артыкуле мы абмяркуем некалькі метадаў пераўтварэння радка ў лік у Excel VBA. Мы паглядзім, як выкарыстоўваць убудаваныя функцыі і стварыць карыстальніцкую функцыю з іх дапамогай для пераўтварэння радка ў лік з прыкладамі кода VBA.
Спампаваць Практычны сшытак
Спампуйце гэты сшытак, каб практыкавацца падчас чытання гэтага артыкула.
Пераўтварэнне радка ў лік.xlsm
3 спосабу пераўтварэння радка ў лік у Excel VBA
1. Пераўтварыце радок у лік з дапамогай функцый пераўтварэння тыпаў
Excel забяспечвае некалькі ўбудаваных функцый пераўтварэння тыпаў . Мы можам выкарыстоўваць іх у нашым кодзе VBA для лёгкага пераўтварэння радковага тыпу даных у розныя тыпы даных.
1.1 Радок у цэлы
Каб пераўтварыць радок у integer , мы можам выкарыстоўваць функцыю CInt у нашым кодзе. Функцыя CInt прымае толькі адзін аргумент , і гэта павінна быць лікавае значэнне . Давайце паспрабуем наступны код у рэдактары Visual Code.
4691
Націсніце F5 каб запусціць код . Вывад паказаны ў MsgBox .
Функцыя CInt пераўтварыла лікавы радок значэнне (“12,3” ) у цэлы лік 12.
Каб даведацца больш пра функцыю CInt , выканайце наступнае код у рэдактары кода і назірайце за вынікамі .
8952
Вывад тут унаступны здымак экрана .
Тлумачэнне кода
У гэтым кодзе мы выкарыстоўвалі Для… Наступны цыкл для прымянення функцыі CInt да радкоў ячэек B3:B7. Вынікі друкуюцца ў ячэйках C3:C7. Мы выкарысталі функцыю Cells , каб вызначыць ўваходныя значэнні і месца для друку выходных значэнняў.
Вынікі
Функцыя CInt пераўтварыў 25,5 у наступны цэлы лік 26 . З іншага боку, гэта пераўтварыла 10,3 у 10, а не ў 11 . Калі дзесятковае лікавае значэнне меншае за 0,5, функцыя акругляе да таго ж ліку ў меншы бок. Але дзесятковае лікавае значэнне радка ператвараецца ў наступны цэлы лік, калі яно роўна або больш за .5.
Заўвага
Цэлае значэнне мае дыяпазон ад -32 768 да 32 767 . Калі мы змясцім лікавае значэнне па-за межамі гэтага дыяпазону , Excel пакажа памылку .
1.2 Радок у доўгі
Функцыя CLng пераўтворыць лікавае значэнне радка ў тып даных long . Яна працуе аналагічна функцыі CInt. Ключавое адрозненне заключаецца ў яго дыяпазоне , які знаходзіцца паміж -2,147,483,648 і 2,147,483,647.
The code to run is here below:9111
Тут ячэйкі B3:B9 змяшчаюць некаторыя лікавыя радковыя значэнні , а ператвораныя l лічбы знаходзяцца ў ячэйках C3:C9. Функцыя CLng пераўтварыла -32800 і 32800 паспяхова да доўгіх лікаў , якія функцыя CInt не змагла. Але ён таксама атрымае памылку калі ўведзенае лікавае значэнне знаходзіцца па-за дыяпазонам.
1.3 Радок у дзесятковы
Выкарыстоўваючы функцыю CDec мы можам пераўтварыць а лікавае радковае значэнне да дзесятковага тыпу даных. Запусціце наступны код, каб пераўтварыць лікавыя значэнні ў ячэйках B3:B7 у дзесятковы тып даных.
3817
1.4 Радок у адзіночны
У гэтым прыкладзе мы ператворым ўваходныя радкі ў адзіны тып даных (адзіночны -дакладныя лікі з плаваючай кропкай. Для гэтага нам трэба выкарыстоўваць функцыю CSng .
Адзіны тып даных вагаецца ад - (i) ад -3.402823E38 да -1.401298E-45 для адмоўных лікаў.
(ii) 1.401298E-45 да 3.402823E38 для станоўчыя лічбы.
Запусціце наступны код у рэдактары Visual Basic.
2588
У вывадзе ячэйкі B3:B9 змяшчаюць некаторыя лікавыя радковыя значэнні, і пераўтвораныя нумары аднаго тыпу даных знаходзяцца ў ячэйках C3:C9. Але ён таксама атрымае памылку калі ўведзенае лікавае значэнне знаходзіцца па-за дыяпазонам.
1.5 Радок для падваення
У гэтым прыкладзе мы ператворым ўваходныя радкі ў double тып даных (плываючая падвойная дакладнасць -кропка) лікі. Для гэтага нам трэбакаб выкарыстоўваць функцыю CDbl .
Падвойны тып даных вагаецца ад - (i) -1.79769313486231E308 да -4.94065645841247E-324 для адмоўныя лічбы.
(ii) 4.94065645841247E-324 да 1.79769313486232E308> для .
Запусціце наступны код у рэдактары Visual Basic.
3192
У вывадзе ячэйкі B3:B9 змяшчаюць некаторыя лічбавае радковае значэнне і ператвораныя двайныя тыпы даных знаходзяцца ў ячэйках C3:C9. Але таксама будзе памылка калі ўвод лікавае значэнне знаходзіцца па-за дыяпазонам.
1.6 Радок у валюту
Тып даных валюта зручны, калі разлікі звязаны з грашыма . Больш за тое, калі мы хочам большай дакладнасці ў фіксаваных – кропках разліках , выкарыстанне тыпу даных валюты з'яўляецца добрым выбарам. Нам трэба выкарыстоўваць функцыю CCur для пераўтварэння радка ў тып даных валюты . Тып даных знаходзіцца ў дыяпазоне ад -922,337,203,685,477.5808 да 922,337,203,685,477.5808.
Код для пераўтварэння лікавага значэння радка з ячэек B3:B7 да тыпу даных валюты ў ячэйках C3:C7 тут ніжэй.
5437
1.7 Радок у байт
Функцыя CByte пераўтворыць лікавыя значэнні радка ў тып даных байт , які вар'іруецца ад Ад 0 да 255.
Код яквынікае :
7288
У вывадзе ячэйкі B3:B9 утрымліваюць некаторы лікавае значэнне радка, і ператвораныя байтавыя нумары тыпаў даных знаходзяцца ў ячэйках C3:C9. Але ён таксама атрымае памылку калі ўведзенае лікавае значэнне знаходзіцца па-за дыяпазонам.
Дадатковая інфармацыя: Як пераўтварыць радок у доўгі з дапамогай VBA ў Excel
Падобныя паказанні
- Пераўтварыць радок у падвойны ў Excel VBA (5 метадаў)
- Як пераўтварыць тэкст у лік з дапамогай Excel VBA (3 прыклады з макрасамі)
- Выправіць памылку пераўтварэння ў лік у Excel (6 метадаў)
- Як пераўтварыць навуковую натацыю ў лік у Excel (7 метадаў)
2. Выкарыстанне карыстальніцкай функцыі VBA для праверкі і пераўтварэння радка ў лік у Excel
На гэтай ілюстрацыі мы збіраемся стварыць карыстальніцкую функцыю для пераўтварэння радкі да лікаў. Затым мы можам выкарыстоўваць гэту карыстальніцкую функцыю на нашым рабочым аркушы як убудаваную функцыю . У гэтым прыкладзе мы будзем выкарыстоўваць функцыю CInt для пераўтварэння радкоў у цэлыя пры стварэнні карыстальніцкай функцыі. Мы таксама можам выкарыстоўваць усе іншыя функцыі апісаныя ў метадзе 1 для пераўтварэння радкоў у розныя тыпы даных . Цяпер выканайце наступныя крокі, каб выканаць гэта.
Крокі:
- Тут, у ячэйках B3:B7, у нас ёсць некаторыя лікавы радокзначэння.
- Цяпер у рэдактары Visual Basic скапіруйце і ўстаўце наступны код і потым націсніце Ctrl + S , каб захаваць
8625
- У ячэйцы C3 пачаць уводзіць імя функцыі ( StringToNumber ). Excel аўтаматычна прапануе функцыю для выкарыстання. Націсніце клавішу Tab , каб увайсці ў функцыю.
- Увядзіце спасылку на ячэйку B3 у якасці адзінага аргумента.
- Цяпер націсніце Enter пасля закрыцця круглых дужак.
- Знайдзіце маркер запаўнення ў правым ніжнім куце ячэйкі C3 , каб прымяніць функцыя для ячэек C4:C7.
- Канчатковым вынікам з'яўляюцца жаданыя цэлыя лікі са значэнняў радка .
3. Код VBA для пераўтварэння выбранага дыяпазону ячэек у лікі ў Excel
На гэтай ілюстрацыі мы пераўтворым дыяпазон з выбраных ячэек якія змяшчаюць радковыя значэнні да цэлых лікаў. Калі якая-небудзь ячэйка ўтрымлівае нелічбавае значэнне, у вывадзе будзе працяжнік (-) замест . Выканайце крокі :
- Вылучыце ячэйкі B3:B6 з лікавымі радкамі значэннямі і B7 якая змяшчае нелічбавы
- У рэдактары Visual Basic скапіруйце і устаўце наступнае код .
5553
- Цяпер націсніце F5 , каб запусціць вывад як паказана ў наступны скрыншот .
Нататкі
- Мы выкарыстоўвалі isNumeric функцыя ў 2-м і 3-м метадах у нашым кодзе VBA, якая правярае, ці можа выраз быць пераўтвораны ў лік.
- У метадзе 1 , мы выкарысталі ўбудаваныя функцыі (CInt, CDbl, CSng…..) для пераўтварэння лікавых радковых значэнняў у лічбы . Але калі ёсць нелікавае значэнне , яно пакажа памылку несупадзення .
Выснова
Цяпер мы ведаем, як канвертаваць радковыя значэнні ў лічбы ў Excel. Будзем спадзявацца, што гэта заахвоціць вас выкарыстоўваць гэтую функцыянальнасць больш упэўнена. Любыя пытанні ці прапановы не забывайце размяшчаць іх у полі для каментарыяў ніжэй.