Excel VBA-da satrni raqamga qanday aylantirish mumkin (3 usul)

  • Buni Baham Ko'Ring
Hugh West

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 raqamli satr qiymati va aylantirilgan qoʻshaloq maʼlumot turidagi raqamlar C3:C9 katakchalarida joylashgan. Lekin u xato agar kiritilgan boʻlsa, xato ham oladi. 3>raqamli qiymat diapazondan tashqarida.

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.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.