Mundarija
Ushbu maqolada biz Excel VBA-da qatorni raqamga aylantirishning bir necha usullarini muhokama qilamiz. Biz o‘rnatilgan funksiyalardan qanday foydalanishni va VBA kod misollari yordamida qatorni raqamga aylantirish uchun maxsus funksiya yaratishni ko‘rib chiqamiz.
Amaliy ish kitobini yuklab oling
Ushbu maqolani o'qiyotganingizda mashq qilish uchun ushbu mashq kitobini yuklab oling.
Stringni raqamga aylantirish.xlsm
Stringni raqamga aylantirishning 3 usuli Excel VBA da
1. Turni o'zgartirish funksiyalaridan foydalanib qatorni raqamga aylantirish
Excel bir nechta o'rnatilgan turni o'zgartirish funksiyalarini ta'minlaydi. Biz ularni VBA kodimizda string ma'lumotlar turidan turli ma'lumotlar turlariga osongina aylantirish uchun foydalanishimiz mumkin.
1.1 String to Integer
string -ga aylantirish uchun integer , biz kodimizda CInt funksiyasidan foydalanishimiz mumkin. CInt funktsiyasi faqat bitta argument oladi va bu raqamli qiymat bo'lishi kerak. Vizual kod muharririda quyidagi kodni sinab ko'raylik.
2934
Ishga tushirish uchun F5 bosing kod . Chiqish MsgBox da ko'rsatilgan.
CInt funktsiyasi raqamli satrni qiymatini aylantirdi 3>(“12.3” ) bilan butun 12.
CInt funksiyasi haqida koʻproq tushunish uchun quyidagilarni bajaring kod muharririda kodni kiriting va natijalarni kuzating.
2370
chiqishi bu yerdaquyidagi skrinshot .
Kod izohi
Ushbu kodda biz For… Keyingi tsikl CInt funktsiyasini katakchalar satrlarida B3:B7 qo'llash. chiqishlar C3:C7 kataklarida chop etiladi. Kirish qiymatlari va chiqish qiymatlarini qayerda chop etishni belgilash uchun Hujayralar funksiyasidan foydalandik.
Natijalar
CInt funktsiyasi 25,5 ni keyingi butun son 26 ga aylantirdi. Boshqa tomondan, u 10,3 ni 11 emas, balki 10 ga aylantirdi. O'nlik son qiymati ,5 dan kichik bo'lsa, funksiya bir xil raqamga yaxlitlanadi. Lekin o'nlik raqamli satr qiymati, agar u teng yoki .5 dan katta bo'lsa, keyingi butun son songa aylanadi.
Izoh
Butun qiymat -32,768 dan 32,767 oralig'ida joylashgan. Agar ushbu diapazondan bo'lgan raqamli qiymat qo'ysak, Excel xato ni ko'rsatadi.
1.2 String to Long
CLng funktsiyasi raqamli satr qiymatini uzun ma'lumotlar turiga o'zgartiradi. U CInt funksiyasiga o'xshash ishlaydi. Asosiy farq uning diapazonida , ya'ni -2,147,483,648 va 2,147,483,647.
The code to run is here below:2046
Bu erda B3:B9 yacheykalari ba'zi raqamli satr qiymatini o'z ichiga oladi va aylantirilgan l sonlar yacheykalarda C3:C9. CLng funktsiyasi aylantirildi -32800 va 32800 CInt funksiyasi qila olmagan uzun raqamlar ga muvaffaqiyatli. Ammo agar kirish raqamli qiymati diapazondan tashqarida bo'lsa, u xato ga ham ega bo'ladi.
1.3 satrni oʻnlik songa
CDec funksiyasidan foydalanib, biz oʻzgartirishimiz mumkin a raqamli satr qiymati a oʻnlik maʼlumotlar turiga. B3:B7 kataklardagi raqamli qiymatlarni o'nlik ma'lumotlar turiga aylantirish uchun quyidagi kodni ishga tushiring.
1319
1.4 String to Single
Ushbu misolda biz kiritish satrlarini bitta ma'lumotlar turiga (bitta) aylantiramiz. -aniq suzuvchi nuqta) raqamlari. Buning uchun biz CSng funksiyasidan foydalanishimiz kerak.
Yagona ma'lumotlar turi diapazonlari- (i) -3,402823E38 - -1,401298E-45 salbiy raqamlar uchun.
(ii) 1.401298E-45 dan <03.0 uchun uchun. ijobiy raqamlar.
Vizual asosiy muharrirda quyidagi kodni ishga tushiring.
3586
Chiqishda katakchalar B3:B9 ba'zi raqamli satr qiymatini o'z ichiga oladi va o'zgartirilgan yagona ma'lumotlar turidagi raqamlar C3:C9 katakchalarida. Lekin u xatoni ham oladi. 4>agar kirish raqamli qiymat diapazondan tashqarida bo'lsa.
1,5 String to Double
Ushbu misolda biz kirish satrlarini ikkita ma'lumot turiga (ikki aniqlikdagi suzuvchi) aylantiramiz -nuqta) raqamlar. Buning uchun bizga kerak CDbl funksiyasidan foydalanish uchun.
Qo'shaloq ma'lumotlar turi oralig'i- (i) -1,79769313486231E308 - -4,94065645841247E-324 <3 uchun>salbiy raqamlar.
(ii) 4,94065645841247E-3245645841247E-3245645841247E-324403 uchun <3240656458412403-3241>38-3241-38-38-38-sonlar uchun .
Vizual asosiy muharrirda quyidagi kodni ishga tushiring.
9694
Chiqishda B3:B9 yacheykalari ba'zi
1,6 String to Currency
valyuta ma'lumotlari turi hisob-kitoblar pul bilan bog'liq bo'lganda qulaydir. Bundan tashqari, agar biz belgilangan – nuqta hisoblash da ko'proq aniqlikni xohlasak, valyuta ma'lumotlari turidan foydalanish yaxshi tanlovdir. Biz satrni valyuta ma'lumotlar turiga aylantirish uchun CCur funksiyasidan foydalanishimiz kerak. ma'lumotlar turi -922,337,203,685,477.5808 dan 922,337,203,685,477.5808 gacha.
Kodni ga raqamli qiymatga aylantirish C3:C7 katakchalardagi B3:B7 dan valyuta ma'lumotlari turiga 4> katakchalar bu yerda.
3000
1,7 String to Bayt
CByte funksiyasi raqamli qator qiymatlarini bayt ma'lumotlar turiga o'zgartiradi. 0 dan 255 gacha.
Kod bu kabiquyidagicha :
5635
Chiqishda katakchalar B3:B9 ba'zi raqamli satr qiymatini o'z ichiga oladi, va aylantirilgan bayt ma'lumotlar turi raqamlari C3:C9 katakchalarida. Lekin u xato <4 ham oladi>agar kirish raqamli qiymat diapazondan tashqarida bo'lsa.
Batafsil o'qish: Excelda VBA-dan foydalanib satrni uzunlikka qanday aylantirish mumkin
Shunga o'xshash o'qishlar
- Excel VBA-da satrni ikki barobarga aylantirish (5 usul)
- Qanday qilib Excel VBA yordamida matnni raqamga aylantirish mumkin (makroslar bilan 3 ta misol)
- Excelda raqamga aylantirish xatosini tuzatish (6 usul)
- Excelda ilmiy belgilarni qanday qilib raqamga aylantirish mumkin (7 usul)
2. Excelda qatorni tekshirish va raqamga aylantirish uchun maxsus VBA funksiyasidan foydalanish
Ushbu rasmda biz konvertatsiya qilish uchun maxsus funktsiyani qilamiz. raqamlarga satrlar. Keyin biz o'rnatilgan funksiya kabi ish varaqimizda ushbu maxsus funksiyani foydalanishimiz mumkin. Ushbu misolda biz CInt funktsiyasidan to'liq foydalanamiz. Biz 1-usul da tavsiflangan barcha boshqa funksiyalardan shuningdek, satrlarni turli ma'lumotlar turlariga aylantirish uchun foydalanishimiz mumkin. Endi buni amalga oshirish uchun quyidagi amallarni bajaring.
Qadamlar:
- Mana, B3:B7, kataklarida bizda ba'zilari bor. raqamli qatorqiymatlar.
- Endi, Visual Basic muharririda, nusxalash va qo'yish quyidagi kod va keyin saqlash uchun Ctrl + S tugmalarini bosing
1317
- C3 katakchada, yozishni boshlang funksiya nomi ( StringToNumber ). Excel avtomatik ravishda foydalanish uchun funktsiyani taklif qiladi. Funksiyaga kirish uchun Tab tugmasini bosing.
- yacheyka ma'lumotnomasini B3 qo'ying yagona argument sifatida.
- Endi, qavslarni yopgandan so'ng Enter ni bosing.
- qo'llash uchun to'ldirish dastagini o'ng pastki burchagi katakchasi C3 -ni toping. funktsiya C4:C7 katakchalari uchun.
- Yakuniy natija qator qiymatlaridan kutilgan butun sonlardir. .
3. VBA kodi Excelda tanlangan katakchalarni raqamlarga aylantirish uchun
Ushbu rasmda biz tanlangan katakchalarning diapazonini o'zgartiramiz. butun sonlar qatori qiymatlarini o'z ichiga oladi. Agar biron bir katakda raqamli bo'lmagan qiymat bo'lsa, chiqish o'rniga tire (-) chiziq bo'ladi. qadamlarni bajaring :
- Hujayralarni tanlang B3:B6 raqamli satrlar qiymatlari va B7 o'z ichiga oladi a raqamli bo'lmagan
- Visual Basic muharririda nusxalash va quyidagini qo'ying kod .
6856
- Endi, quyidagi rasmda ko'rsatilganidek, chiqish ni ishga tushirish uchun F5 tugmasini bosing. quyidagi skrinshot .
Eslatmalar
- Biz dan foydalandik vBA kodimizdagi 2 va 3-chi usullarda numerik funksiya u ifodani raqamga aylantirish mumkinligini tekshiradi.
- In usuli 1 , biz raqamli satr qiymatlarini raqamlarni ga aylantirish uchun oʻrnatilgan funksiyalardan (CInt, CDbl, CSng…..) foydalandik. Lekin agar raqamli bo'lmagan qiymat bo'lsa, u mos kelmaslik xatosini ko'rsatadi.
Xulosa
Endi Excelda qator qiymatlarini raqamlarga qanday aylantirishni bilamiz. Umid qilamanki, bu sizni ushbu funksiyadan ishonchliroq foydalanishga undaydi. Har qanday savol yoki takliflar bo'lsa, ularni quyidagi sharhlar maydoniga qo'yishni unutmang.