မာတိကာ
ဤဆောင်းပါးတွင် Excel VBA တွင် စာကြောင်းမှ နံပါတ်သို့ ပြောင်းရန် နည်းလမ်းများစွာကို ဆွေးနွေးပါမည်။ VBA ကုဒ်နမူနာများဖြင့် string သို့ နံပါတ်သို့ ပြောင်းရန် ၎င်းတို့ကို အသုံးပြု၍ စိတ်ကြိုက်လုပ်ဆောင်ချက်ကို ဖန်တီးနည်းကို ကျွန်ုပ်တို့ မြင်တွေ့ရပါမည်။
အလေ့အကျင့် Workbook ကို ဒေါင်းလုဒ်လုပ်ပါ
ဤဆောင်းပါးကိုဖတ်နေစဉ် လေ့ကျင့်ခန်းလုပ်ရန် ဤအလေ့အကျင့်စာအုပ်ကို ဒေါင်းလုဒ်လုပ်ပါ။
String to Number.xlsm
String to Number ပြောင်းရန် နည်းလမ်း 3 ခု Excel VBA
၁။ အမျိုးအစား ကူးပြောင်းမှုလုပ်ဆောင်ချက်များကို အသုံးပြု၍ စာကြောင်းမှ နံပါတ်သို့ ပြောင်းပါ
Excel သည် များစွာသော built-in type conversion functions ကို ပေးပါသည်။ string datatype မှ မတူညီသော datatypes သို့ အလွယ်တကူပြောင်းရန် ၎င်းတို့ကို ကျွန်ုပ်တို့၏ VBA ကုဒ်တွင် အသုံးပြုနိုင်ပါသည်။
1.1 String to Integer
သို့ string သို့ ပြောင်းရန် integer ၊ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကုဒ်တွင် CInt function ကို အသုံးပြုနိုင်ပါသည်။ CInt လုပ်ဆောင်ချက် သည် အငြင်းပွားမှုတစ်ခု သာယူမည်ဖြစ်ပြီး ၎င်းသည် ဂဏန်းတန်ဖိုး ဖြစ်သင့်သည်။ Visual Code Editor တွင် အောက်ပါကုဒ်ကို စမ်းကြည့်ကြပါစို့။
5440
သို့ F5 ကို ဖွင့်ရန် ကို နှိပ်ပါ။ ကုဒ် ။ အထွက်ကို MsgBox တွင် ပြထားသည်။
CInt လုပ်ဆောင်ချက် အဖြစ်သို့ ဂဏန်းစာတန်း တန်ဖိုး (“12.3” ) သို့ ကိန်းပြည့် 12။
CInt လုပ်ဆောင်ချက် အကြောင်း ပိုမိုနားလည်ရန်၊ အောက်ပါတို့ကို လုပ်ဆောင်ပါ။ ကုဒ်တည်းဖြတ်သူရှိ ကုဒ်နှင့် ရလဒ်များ ကို စောင့်ကြည့်ပါ။
2311
အထွက် သည် ဤနေရာတွင် ရှိနေသည်အောက်ပါ screenshot ။
ကုဒ်ရှင်းလင်းချက်
ဤကုဒ်တွင်၊ ကျွန်ုပ်တို့သည် အတွက်... ဆဲလ်များ၏စာကြောင်းများပေါ်တွင် CInt လုပ်ဆောင်ချက် ကိုအသုံးပြုရန် နောက်တစ်ခုဖြစ်သည့် loop ။ အထွက်များ ကို ဆဲလ် C3:C7 တွင် ရိုက်နှိပ်ထားသည်။ ကျွန်ုပ်တို့သည် Cells လုပ်ဆောင်ချက် ကို အသုံးပြု၍ ထည့်သွင်းတန်ဖိုးများနှင့် အထွက်တန်ဖိုးများကို ပုံနှိပ်ရန် နေရာတွင်
ရလဒ်များ
CInt လုပ်ဆောင်ချက် 25.5 ကို နောက်ထပ် ကိန်းပြည့် 26 သို့ ပြောင်းသည်။ အခြားတစ်ဖက်တွင်၊ ၎င်းသည် 10.3 သို့ 10၊ 11 သို့ ပြောင်းလဲခဲ့သည်။ ဒဿမဂဏန်းတန်ဖိုးသည် .5 ထက်နည်းသောအခါ၊ လုပ်ဆောင်ချက်သည် တူညီသောနံပါတ်သို့ ဆင်းသွားသည်။ သို့သော် ဒဿမ ဂဏန်းစာကြောင်းတန်ဖိုးသည် နောက်ထပ် ကိန်းပြည့် နံပါတ်သို့ ပြောင်းသွားပါက ၎င်းသည် ညီမျှခြင်း သို့မဟုတ် .5 ထက် ကြီးလျှင်
မှတ်ချက်
ကိန်းပြည့်တန်ဖိုးသည် -32,768 မှ 32,767 ကြား အပိုင်းအခြားတစ်ခုရှိသည်။ ဤအကွာအဝေး ပြင်ပတွင်ရှိသော ဂဏန်းတန်ဖိုးတစ်ခုကို ကျွန်ုပ်တို့ထည့်ပါက၊ Excel သည် အမှား ကို ပြပါမည်။
1.2 စာကြောင်းမှ Long သို့
CLng လုပ်ဆောင်ချက် သည် ဂဏန်းစာကြောင်းတန်ဖိုးကို ရှည်လျားသောဒေတာအမျိုးအစား အဖြစ်သို့ ပြောင်းပေးသည်။ ၎င်းသည် CInt လုပ်ဆောင်ချက်နှင့် ဆင်တူသည်။ အဓိကကွာခြားချက်မှာ ၎င်း၏ အပိုင်းအခြား တွင် -2,147,483,648 နှင့် 2,147,483,647 အကြားတွင်ရှိသည်။
The code to run is here below:4871
ဤတွင်၊ ဆဲလ်များ B3:B9 အချို့ ဂဏန်းစာတန်းတန်ဖိုး ပါ၀င်သည်၊ နှင့် ပြောင်းထားသော l နံပါတ်များ ဆဲလ်များတွင် C3:C9။ CLng လုပ်ဆောင်ချက် အဖြစ်သို့ -32800 နှင့် 32800 ရှည်လျားသော ဂဏန်းများ သို့ အောင်မြင်စွာ CInt လုပ်ဆောင်ချက် မရနိုင်ပါ။ သို့သော် ထည့်သွင်းမှု ဂဏန်းတန်ဖိုး သည် အပိုင်းအခြားမဟုတ်ပါက အမှား ကိုလည်း ရရှိမည်ဖြစ်သည်။
1.3 မှ ဒဿမမျဉ်း
CDec လုပ်ဆောင်ချက် ကို အသုံးပြုခြင်းဖြင့် ကျွန်ုပ်တို့ သို့ ပြောင်းလဲနိုင်သည် a ဂဏန်းစာကြောင်းတန်ဖိုး မှ ဒဿမဒေတာအမျိုးအစား။ အောက်ပါကုဒ်ကို ဆဲလ်များတွင် ဂဏန်းတန်ဖိုးများ သို့ပြောင်းရန် B3:B7 ကို ဒဿမဒေတာအမျိုးအစားသို့ ပြောင်းလဲပါ။
4360
1.4 String to Single
ဤဥပမာတွင်၊ ကျွန်ုပ်တို့သည် input stringများကို single datatype (တစ်ခုတည်း -precision floating-point) နံပါတ်များ။ ယင်းအတွက်၊ ကျွန်ုပ်တို့သည် CSng လုပ်ဆောင်ချက် ကို အသုံးပြုရန် လိုအပ်ပါသည်။
ဒေတာအမျိုးအစား အပိုင်းအခြားများ- (i) -3.402823E38 မှ -1.401298E-45 အတွက် အနှုတ် နံပါတ်များ။
(ii) 1.401298E-45 မှ 3.402823E38 အတွက် အပြုသဘောဆောင်သော နံပါတ်များ။
အမြင်အာရုံအခြေခံတည်းဖြတ်မှုတွင် အောက်ပါကုဒ်ကိုဖွင့်ပါ။
4381
အထွက်တွင်၊ ဆဲလ် B3:B9 အချို့တွင် ဂဏန်းစာတန်းတန်ဖိုး နှင့် ပြောင်းထားသော ဒေတာအမျိုးအစား နံပါတ်များ ဆဲလ်များတွင် C3:C9. သို့သော် ၎င်းသည် အမှား ထည့်သွင်းမှု ဂဏန်းတန်ဖိုး သည် အပိုင်းအခြားမဟုတ်ပါက၊
1.5 မျဉ်းနှစ်ထပ်သို့
ဤဥပမာတွင်၊ ကျွန်ုပ်တို့သည် ထည့်သွင်းထားသောစာကြောင်းများကို နှစ်ထပ်ဒေတာအမျိုးအစား အဖြစ်သို့ ပြောင်းလဲပေးမည် (နှစ်ထပ်တိကျမှု ပေါ်လွှ -point) နံပါတ်များ။ ဒီအတွက် ကျွန်တော်တို့ လိုအပ်တယ်။ CDbl လုပ်ဆောင်ချက် ကိုအသုံးပြုရန်။
ဒေတာအမျိုးအစားနှစ်ထပ် အပိုင်းအခြားများ- (i) -1.797693134 Function StringToNumber(inputStr) Dim convertedNum As Variant If IsNumeric(inputStr) Then If IsEmpty(inputStr) Then convertedNum = "-" Else convertedNum = CInt(inputStr) End If Else convertedNum = "-" End If StringToNumber = convertedNum End Function
1E308 မှ -4.94065645841247E-324 >အနှုတ် နံပါတ်များ။
(ii) 4.94065645841247E-324 မှ 1.797693134862
ရုပ်ပုံအခြေခံတည်းဖြတ်မှုတွင် အောက်ပါကုဒ်ကိုဖွင့်ပါ။
5201
အထွက်တွင်၊ ဆဲလ် B3:B9 အချို့ ဂဏန်းစာကြောင်းတန်ဖိုး နှင့် နှစ်ထပ်ဒေတာအမျိုးအစားအဖြစ် ပြောင်းလဲထားသော နံပါတ်များ ဆဲလ် C3:C9. သို့သော် ၎င်းသည် အမှား ထည့်သွင်းပါက ကိန်းဂဏာန်းတန်ဖိုး သည် အပိုင်းအခြားမဟုတ်ပေ။
1.6 String to Currency
ငွေကြေး ဒေတာ အမျိုးအစား ငွေ နှင့် ဆက်စပ်နေသောအခါတွင် အဆင်ပြေပါသည်။ ထို့အပြင်၊ ကျွန်ုပ်တို့သည် ပုံသေ – ပွိုင့် တွက်ချက်မှု တွင် ပိုမိုတိကျလိုပါက၊ ငွေကြေးဒေတာအမျိုးအစားကို အသုံးပြုခြင်းသည် ရွေးချယ်မှုကောင်းပါသည်။ currency data type သို့ string တစ်ခုကို ပြောင်းရန် CCur function ကို အသုံးပြုရန် လိုအပ်ပါသည်။ ဒေတာအမျိုးအစား အပိုင်းအခြား မှ -922,337,203,685,477.5808 မှ 922,337,203,685,477.5808.
ကုဒ်သို့ တန်ဖိုးသို့ ဂဏန်းများ ဆဲလ် B3:B7 မှ ငွေကြေး ဒေတာ အမျိုးအစား ဆဲလ် C3:C7 ၏ အောက်တွင် ရှိသည်။
8045
1.7 စာကြောင်းမှ Byte
CByte လုပ်ဆောင်ချက် သည် ကိန်းဂဏာန်းစာတန်းတန်ဖိုးများကို ဘိုက်ဒေတာအမျိုးအစား သို့ ပြောင်းပေးသည် 0 မှ 255။
ကုဒ် သည် အတိုင်းဖြစ်သည်။အောက်ပါအတိုင်း :
9371
အထွက်တွင် ဆဲလ်များ B3:B9 အချို့သော ဂဏန်းစာကြောင်းတန်ဖိုး၊ နှင့် ပြောင်းထားသော byte ဒေတာအမျိုးအစား နံပါတ်များ ဆဲလ်များတွင် C3:C9. သို့သော် ၎င်းသည် အမှား <4 ကို ရရှိလိမ့်မည်>ထည့်သွင်းမှုသည် ဂဏန်းတန်ဖိုး အကွာအဝေးမဟုတ်ပါက၊
ပိုမိုဖတ်ရန်- Excel တွင် String မှ VBA ကို ကြာကြာအသုံးပြုနည်းသို့ ပြောင်းနည်း
အလားတူစာဖတ်ခြင်း
- Excel VBA တွင် String နှစ်ဆသို့ ပြောင်းနည်း (5 နည်းလမ်းများ)
- Excel VBA ဖြင့် စာသားမှ နံပါတ်သို့ ပြောင်းနည်း (Macros ဖြင့် နမူနာ 3 ခု)
- Excel တွင် နံပါတ်သို့ အမှားသို့ပြောင်းနည်း (နည်းလမ်း 6 ခု)
- Excel တွင် Scientific Notation ကို နံပါတ်သို့ ပြောင်းနည်း (7 Methods)
၂။ Excel တွင် String ကို နံပါတ်သို့ စစ်ဆေးရန် စိတ်ကြိုက် VBA Function ကိုအသုံးပြုခြင်း
ဤပုံဥပမာတွင်၊ ပြောင်းလဲခြင်းအတွက် စိတ်ကြိုက်လုပ်ဆောင်ချက် ကို ပြုလုပ်ပါမည်။ နံပါတ်များသို့ ကြိုးများ။ ထို့နောက် ကျွန်ုပ်တို့သည် ဤ စိတ်ကြိုက်လုပ်ဆောင်မှု ကို ကျွန်ုပ်တို့၏ လုပ်ငန်းစာရွက်တွင် built-in function ကဲ့သို့ အသုံးပြုနိုင်ပါသည်။ ဤဥပမာတွင်၊ ကျွန်ုပ်တို့သည် စိတ်ကြိုက်လုပ်ဆောင်ချက်ကို ဖန်တီးနေစဉ် strings များကို integers သို့ ပြောင်းရန် CInt လုပ်ဆောင်ချက် ကို အသုံးပြုပါမည်။ ကျွန်ုပ်တို့သည် နည်းလမ်း 1 တွင်ဖော်ပြထားသော အခြားလုပ်ဆောင်ချက် အားလုံးကို strings သို့ ကွဲပြားခြားနားသောဒေတာအမျိုးအစားများ သို့ ပြောင်းလဲရန်အတွက်လည်း အသုံးပြုနိုင်ပါသည်။ ယခု၊ ၎င်းကို ပြီးမြောက်ရန် အောက်ပါအဆင့်များကို လိုက်နာပါ။
အဆင့်များ-
- ဤတွင်၊ ဆဲလ် B3:B7၊ ကျွန်ုပ်တို့တွင် အချို့ရှိသည် ဂဏန်းစာတန်းတန်ဖိုးများ။
- ယခု၊ အမြင်ဆိုင်ရာအခြေခံတည်းဖြတ်မှုတွင် ကော်ပီ နှင့် အောက်ပါကုဒ်များကို ကူးထည့်ကာ အောက်ပါကုဒ်များကို ကူးထည့်ကာ၊ ထို့နောက် Ctrl + S ကိုနှိပ်၍ save
8623
- ဆဲလ် C3 ၊ စတင်ရိုက်ထည့်ပါ လုပ်ဆောင်ချက်အမည် ( StringToNumber )။ Excel သည် အသုံးပြုရန် အလိုအလျောက် လုပ်ဆောင်ချက် ကို အကြံပြုပါမည်။ လုပ်ဆောင်ချက်ကိုဝင်ရောက်ရန် the Tab key ကိုနှိပ်ပါ။
- ဆဲလ်ကိုးကားချက် B3 ကိုထည့်ပါ။ တစ်ခုတည်းသော အကြောင်းပြချက်အဖြစ်။
- ယခု၊ Enter ကွင်းစဥ်များကိုပိတ်ပြီးနောက် နှိပ်ပါ။
- ဆဲလ်၏ ညာဘက်အောက်ခြေ တွင် C3 တွင် Fill Handle ကိုရှာပါ ဆဲလ်များအတွက် လုပ်ဆောင်ချက် C4:C7။
- နောက်ဆုံးထွက်ရှိမှုသည် စာကြောင်းတန်ဖိုးများမှ လိုချင်သော ကိန်းပြည့်ဂဏန်းများဖြစ်သည်။ ။
၃။ VBA ကုဒ်ကို Excel တွင် ရွေးချယ်ထားသော ဆဲလ်များ၏ အကွာအဝေးကို နံပါတ်များအဖြစ်သို့ ပြောင်းရန် VBA ကုဒ်
ဤပုံဥပမာတွင်၊ ရွေးချယ်ထားသော ဆဲလ်များ၏ အကွာအဝေး ကို ပြောင်းပါမည် ကိန်းပြည့်ဂဏန်းများသို့ စာကြောင်းတန်ဖိုးများ ပါရှိသည်။ အကယ်၍ ဆဲလ်တစ်ခု၌ ဂဏန်းမဟုတ်သော တန်ဖိုးတစ်ခုပါရှိသည်ဆိုလျှင်၊ အထွက်သည် dash (-) လိုင်း အစား ဖြစ်လိမ့်မည်။ အဆင့်များ ကို လိုက်နာပါ-
- ဆဲလ်များကို ရွေးပါ B3:B6 ရှိ ဂဏန်းစာတန်းများ တန်ဖိုးများနှင့် B7 ပါ၀င်သည် ဂဏန်းမဟုတ်သော
- Visual Basic တည်းဖြတ်မှု တွင် နှင့် အောက်ပါ ကို ကူးထည့်ပါ။ ကုဒ် ။
6341
- ယခု၊ F5 ကိုနှိပ်ရန် run အထွက် တွင် ပြထားသည့်အတိုင်း၊ အောက်ပါ screenshot ။
မှတ်စုများ
- ကျွန်ုပ်တို့ ကိုအသုံးပြုခဲ့သည် ကိန်းဂဏာန်းလုပ်ဆောင်ချက် သည် ဒုတိယနှင့် 3rd နည်းလမ်းများ တွင် ဖော်ပြချက်တစ်ခုအား နံပါတ်တစ်ခုအဖြစ်သို့ ပြောင်းလဲနိုင်သည်ရှိမရှိ စစ်ဆေးပေးသည့် ကျွန်ုပ်တို့၏ VBA ကုဒ်တွင် နည်းလမ်းများ။
- နည်းလမ်း တွင် 1 ၊ ကျွန်ုပ်တို့သည် ဂဏန်းစာတန်းတန်ဖိုးများ သို့ နံပါတ်များ သို့ ပြောင်းလဲရန် တပ်ဆင်ထားသောလုပ်ဆောင်ချက်များ (CInt၊ CDbl၊ CSng…..) ကို အသုံးပြုခဲ့သည်။ သို့သော် ဂဏန်းမဟုတ်သောတန်ဖိုး ရှိပါက၊ ၎င်းသည် မတူညီသောအမှား ကို ပြပါမည်။
နိဂုံးချုပ်
ယခု၊ Excel တွင် ကြိုးတန်းတန်ဖိုးများကို နံပါတ်များအဖြစ်သို့ ပြောင်းလဲနည်းကို ကျွန်ုပ်တို့ သိပါပြီ။ ဤလုပ်ဆောင်ချက်ကို ပိုမိုယုံကြည်စိတ်ချစွာ အသုံးပြုရန် သင့်အား တွန်းအားပေးလိမ့်မည်ဟု မျှော်လင့်ပါသည်။ မေးခွန်းများ သို့မဟုတ် အကြံပြုချက်များအား အောက်ပါ comment box တွင် ထားရန် မမေ့ပါနှင့်။