အမှားတွင် နောက်သို့ပြန်စရန်- Excel VBA တွင် ကိုင်တွယ်မှု အမှား

  • ဒါကိုမျှဝေပါ။
Hugh West

မာတိကာ

Microsoft Excel VBA တွင် error handling သည် အရေးကြီးသော အလုပ်များထဲမှ တစ်ခုဖြစ်သည်။ အကယ်၍ သင်သည် coder တစ်ယောက်ဖြစ်လျှင် ပြီးပြည့်စုံသော application တစ်ခုတည်ဆောက်ရန် error handling ၏ အရေးပါပုံကို သင်သိပါသည်။ ထုတ်ပြန်ချက်တစ်ခုတွင် မည်သည့်အမှားအယွင်းမဆို သင့် VBA ကုဒ်ကို နည်းလမ်းများစွာဖြင့် အနှောင့်အယှက်ဖြစ်စေနိုင်သည်။ ထို့ကြောင့်၊ VBA ကုဒ်ကိုလုပ်ဆောင်နေချိန်တွင် ထိုအမှားများကို ကိုင်တွယ်ဖြေရှင်းရန် သင်သတိရှိရပါမည်။ Excel တွင် VBA ကုဒ်ကိုအသုံးပြုနေစဉ်တွင် သင်ကြုံတွေ့ရနိုင်သော အမှားအယွင်းများစွာရှိသည်။ ၎င်းတို့ထဲမှတစ်ခုကိုဖြေရှင်းရန်၊ ကျွန်ုပ်တို့သည် အမှားဆက်လက်လုပ်ဆောင်ရန် ထုတ်ပြန်ချက်အား ကျွန်ုပ်တို့အသုံးပြုပါသည်။

ဤသင်ခန်းစာတွင်၊ Excel တွင် အမှားဆက်လက်လုပ်ဆောင်ရန် နောက်တစ်ခု ထုတ်ပြန်ချက်ကို သင်အသုံးပြုရန် လေ့လာရလိမ့်မည်။ VBA ဤသင်ခန်းစာတွင် သင့်လျော်သော ဥပမာများနှင့် သင့်လျော်သော ပုံဥပမာများဖြင့် ညွှန်ပြပါမည်။ ထို့ကြောင့် ကျွန်ုပ်တို့နှင့်အတူနေပါ။

လက်တွေ့လုပ်ငန်းစာအုပ်ကို ဒေါင်းလုဒ်လုပ်ပါ

VBA တွင် အမှားအယွင်းရှိနေပါက Next.xlsm

Excel တွင် ကိုင်တွယ်မှုအမှား VBA

Microsoft Excel VBA နှင့်အလုပ်လုပ်နေစဉ်၊ သင်၏လုပ်ထုံးလုပ်နည်းခွဲများတွင် အမှားအယွင်းများစွာကြုံတွေ့ရလိမ့်မည်။ VBA သည် ကြေငြာချက်တစ်ခုကို မလုပ်ဆောင်နိုင်သောအခါ၊ ၎င်းသည် run-time error ကို လွှတ်ချသည်။

Excel သည် အဆိုပါ အမှားများကို အလိုအလျောက် ဖြေရှင်းပေးသည်၊ ထို့ကြောင့် run-time error ပေါ်လာသောအခါတွင်၊ ၎င်းသည် အောက်ပါကဲ့သို့ ပုံသေ error message ကို ပြသသည်-

ယခု၊ ဤအရာများကို VBA ထုတ်ပြန်ချက်အချို့ဖြင့် အမျိုးမျိုး ကိုင်တွယ်ဖြေရှင်းနိုင်ပါသည်။ ၎င်းတို့ကို နောက်ပိုင်းအပိုင်းများတွင် ဆွေးနွေးပါမည်။

နောက်ထပ် ဖတ်ရှုရန်- #REF ကို ပြင်နည်း။ Excel တွင် Error (6 Solutions)

VBA ရှိ Error Statements တွင်

အချိန်အတွင်း အမှားအယွင်းများကို ကိုင်တွယ်ဖြေရှင်းရန်၊ On Error statement ဖြင့် Excel ကို ညွှန်ကြားပါသည်။ ဆုံးဖြတ်သည်။Excel ရှိ NAME Error ၏ (နမူနာ 10 ခု)

💬 မှတ်ထားရမည့်အရာ

✎ Error Resume Next သည် အမှားများကို မပြင်ပါ။ ၎င်းသည် အခြေခံအားဖြင့် အမှားကို လျစ်လျူရှုပြီး နောက်ထုတ်ပြန်ချက်သို့ ဆက်သွားပါသည်။

Excel ကို ထောင်ချောက်ဆင်ပြီး Err object တွင် run-time အမှားများကို သိမ်းဆည်းပါသည်။ အမှားဆက်လက်လုပ်ဆောင်ရန် ထုတ်ပြန်ချက်အား ကျွန်ုပ်တို့အသုံးပြုသောအခါ၊ ၎င်းသည် မှားယွင်းသည့်အရာဝတ္ထုဂုဏ်သတ္တိများကို ရှင်းလင်းစေသည်။

သင်သည် အမှားဆက်လက်လုပ်ဆောင်ရန်နောက်သို့ဖွင့်ရန် ကို သင်ပိတ်နိုင်သည်။ အမှား GoTo 0 ဖော်ပြချက်ကို ပေါင်းထည့်ခြင်းဖြင့် Excel ရှိ သင်၏ VBA ကုဒ်တွင် ဖော်ပြချက်။

နိဂုံးချုပ်

နိဂုံးချုပ်ရန်၊ ဤသင်ခန်းစာသည် သင့်အား အသုံးဝင်သောအပိုင်းတစ်ခု ပေးစွမ်းနိုင်မည်ဟု မျှော်လင့်ပါသည်။ Excel VBA တွင် အမှားရှေ့ဆက်ရန် ကိုအသုံးပြုရန် အသိပညာ။ သင့်ဒေတာအတွဲတွင် ဤညွှန်ကြားချက်အားလုံးကို လေ့လာပြီး အသုံးပြုရန် အကြံပြုအပ်ပါသည်။ လေ့ကျင့်ခန်းစာအုပ်ကို ဒေါင်းလုဒ်လုပ်ပြီး သင်ကိုယ်တိုင် စမ်းကြည့်ပါ။ ထို့အပြင် မှတ်ချက်ကဏ္ဍတွင် တုံ့ပြန်ချက်ပေးရန်လည်း လွတ်လပ်စွာ ခံစားခွင့်ပေးပါ။ သင်၏တန်ဖိုးရှိသော အကြံပြုချက်သည် ဤကဲ့သို့သော သင်ခန်းစာများကို ဖန်တီးရန် ကျွန်ုပ်တို့အား လှုံ့ဆော်ပေးပါသည်။

Excel ဆိုင်ရာ ပြဿနာများနှင့် ဖြေရှင်းနည်းအမျိုးမျိုးအတွက် ကျွန်ုပ်တို့၏ ဝဘ်ဆိုက် Exceldemy.com ကို စစ်ဆေးရန် မမေ့ပါနှင့်။

နည်းလမ်းသစ်များကို ဆက်လက်လေ့လာပြီး ကြီးထွားလာပါ!

ဘယ်လိုလုပ်ငန်းတွေကို ချက်ချင်းလုပ်မလဲ။ အခြေခံအားဖြင့်၊ ဤအမှားများကို ကိုင်တွယ်ဖြေရှင်းခြင်းမျိုးဖြင့် ကျွန်ုပ်တို့သည် ဤအမှားများကို ပိတ်လိုက်ပါသည်။

ကျွန်ုပ်တို့သည် Excel VBA တွင် On Error statements(syntax) အမျိုးအစားသုံးမျိုးကို အသုံးပြုပါသည်။

  • အမှား GoTo line
  • အမှားတွင် နောက်သို့ဆက်ရန်
  • အမှား GoTo 0

အမှားတစ်ခုတွေ့သောအခါ၊ On Error command ကိုသုံးပါ။ အဘယ်ကြောင့်ဆိုသော် သင်သည် On Error ကြေငြာချက်ကို အသုံးမပြုပါက၊ အဆိုပါ run-time errors များသည် ဘေးဥပဒ်ဖြစ်စေလိမ့်မည်။ ၎င်းသည် error prompt ကိုပြသပြီး execution ကိုရပ်တန့်ပါမည်။

ကျွန်ုပ်တို့သည် On Error statement ကိုအသုံးပြုသောအခါ၊ "enabled" error handler ကိုဖွင့်ပါသည်။ "တက်ကြွသော" အမှားကိုင်တွယ်သူသည် အမှားအယွင်းကိုင်တွယ်လုပ်ဆောင်မှုကို စတင်သည့် ဖွင့်ထားသည့် ကိုင်တွယ်ကိရိယာတစ်ခုဖြစ်သည်။ error handler ပါဝင်နေချိန်တွင် အမှားတစ်ခု ပေါ်ပေါက်ပါက၊ လက်ရှိ method ၏ error handler သည် error ကို မခံနိုင်ပါ။ ၎င်းနောက်၊ ထိန်းချုပ်မှုသည် ခေါ်ဆိုမှုလုပ်ငန်းစဉ်သို့ ပြန်သွားပါသည်။

ခေါ်ဆိုမှုလုပ်ငန်းစဉ်တွင် ဖွင့်ထားသည့် အမှားအယွင်းတစ်ခုရှိနေပါက၊ အမှားကို စီမံခန့်ခွဲရန် ၎င်းသည် အစပျိုးသွားမည်ဖြစ်သည်။ သင့်ခေါ်ဆိုမှုစနစ်၏ အမှားအယွင်းကို ကိုင်တွယ်ဖြေရှင်းသူသည် တဆက်တည်းဖြစ်နေပါက၊ ထိန်းချုပ်မှုသည် ဖွင့်ထားသော်လည်း မလှုပ်ရှားနိုင်သော အမှားကိုင်တွယ်သူကို ရှာမတွေ့မချင်း အစောပိုင်းခေါ်ဆိုမှုလုပ်ငန်းစဉ်များမှတစ်ဆင့် ထိန်းချုပ်သည်။ idle enabled error handler တစ်ခုခုကို ရှာမတွေ့ပါက၊ ၎င်းသည် ၎င်း၏ ဖြစ်ပျက်နေသည့်အချက်တွင် အမှားအယွင်းဖြစ်နေသည်ဟု ဆိုလိုသည်။

Error handler သည် calling process တစ်ခုသို့ အခွင့်အာဏာကို ပြန်ပေးသည့်အခါတိုင်း၊ ထိုလုပ်ငန်းစဉ်သည် ရှိပြီးသား process ကို ပြောင်းလဲပါသည်။ Execution သည် အဆိုပါနေရာတွင် ပြန်လည်စတင်သည်။Error handler သည် မည်သည့်လုပ်ထုံးလုပ်နည်းတွင်မဆို အမှားအယွင်းများကို ကိုင်တွယ်သည့်အခါ Resume statement မှ ရွေးချယ်ထားသော ယခုအချိန်တွင် လက်ရှိလုပ်ထုံးလုပ်နည်းကို တင်ပြပါသည်။

VBA တွင် 'Error Resume Next'

ယခု Error Resume Next ဖော်ပြချက်တွင် VBA သည် အမှားအယွင်းများရှိသည့် ကုဒ်လိုင်းများကို လျစ်လျူရှုရန် VBA အား ပြောထားပြီး အောက်ပါကုဒ်မျဉ်းသို့ ချက်ချင်းဆက်သွားပါ။ ၎င်းနောက်၊ Excel VBA ကုဒ်များသည် ၎င်းတို့တွင် အမှားများပါရှိသော လိုင်း သို့မဟုတ် လိုင်းများကို ကျော်သွားမည်ဖြစ်ပြီး အောက်ပါကုဒ်၏ အစီအစဥ်သို့ ဆက်သွားပါမည်။

အမှား ဆက်လက်လုပ်ဆောင်ရန် နောက်တစ်ခု ကြေညာချက်သည် အကောင်အထည်ဖော်မှုကို တွန်းအားပေးသည်။ run-time error ဖြစ်စေသော ကုဒ်လိုင်းများကို ချက်ချင်းလိုက်၍ command ဖြင့် ပြန်လည်စတင်ပါ။ run-time error ရှိလျှင်ပင် ဤထုတ်ပြန်ချက်သည် လည်ပတ်မှုကို ကျော်သွားနိုင်သည်။ ကုဒ်မျဉ်းတစ်ကြောင်းသည် အမှားတစ်ခုဖန်တီးနိုင်သည်ဟု သင်ထင်ပါက၊ လုပ်ထုံးလုပ်နည်းအတွင်း အခြားနေရာတစ်ခုတွင် ထားမည့်အစား error-handling လုပ်ရိုးလုပ်စဉ်ကို ထိုနေရာတွင် ထားပါ။ သင်၏ကုဒ်သည် အခြားလုပ်ထုံးလုပ်နည်းကို ခေါ်သောအခါ အမှားနောက်သို့ ဆက်လက်လုပ်ဆောင်ရန် ထုတ်ပြန်ချက်သည် ပျက်သွားပါသည်။ ထို့ကြောင့်၊ ထိုလုပ်ရိုးလုပ်စဉ်တွင် ကိုက်ညီသော အမှားတစ်ခုကို ကိုင်တွယ်ရန် လိုအပ်သောအခါ၊ အမည်ပေးထားသည့် ပုံစံတစ်ခုစီတွင် On Error Resume Next command ကို run ရပါမည်။

သင်ပြုလုပ်သော ကုဒ်မျဉ်းသည် သင့်လျော်ပါသည်။ macro ၏လည်ပတ်ရှင်သန်မှုအတွက် skip မလိုအပ်ပါ။ သို့သော် မလိုလားအပ်သော ရလဒ်များကို ပေးစွမ်းနိုင်သောကြောင့် ၎င်းကို မှားယွင်းစွာအသုံးပြုပါက အန္တရာယ်ရှိနိုင်သည်ကို သတိရပါ။

သတိရပါ-

The On Error Resume Next statement မဖြစ်ပါ။runtime အမှားများကိုပြင်ပါ။ ၎င်းသည် အခြေခံအားဖြင့် သင်၏ VB လည်ပတ်မှု error ကိုထုတ်ပေးသည့် ထုတ်ပြန်ချက်မှ ပြန်လည်စတင်မည့် အမှားများကို လျစ်လျူရှုပါသည်။

အောက်ပါကုဒ်ကိုကြည့်ပါ-

8537

5 ကို ပိုင်းခြားရန် ကြိုးပမ်းခဲ့သည် 0 နှင့် 1 ဖြင့် ကုဒ်ကို run ကြပါစို့။ ၎င်းသည် အောက်ပါ output ကိုပြသပါမည်-

၎င်းသည် run-time error ကိုထုတ်ပေးသည်။ ကျွန်ုပ်တို့သည် နံပါတ်တစ်ခုကို 0 ဖြင့် ပိုင်းခြား၍မရပါ။ သင်ကုဒ်ကို အမှားရှာသောအခါတွင် အောက်ပါတို့ကို တွေ့ရလိမ့်မည်-

VB ပရိုဂရမ်က အမှားအယွင်းတစ်ခုတွေ့သောအခါ၊ ၎င်းသည် လုပ်ငန်းစဉ်ကို ချက်ချင်းရပ်တန့်သွားမည်ဖြစ်သည်။ ၎င်းသည် အောက်ပါစာကြောင်းကို လုပ်ဆောင်မည်မဟုတ်ပါ။

ယခု၊ အမှားဖော်ပြချက်မတိုင်မီ အမှားပြန်လည်စတင်ခြင်းအပေါ် နောက်တစ်ခု ဖော်ပြချက်ကို အကောင်အထည်ဖေါ်ကြပါစို့-

7821

ကုဒ်ကို လုပ်ဆောင်ပြီးနောက်၊ သင်သည် အောက်ပါတို့ကိုကြည့်ပါ-

သင်တွေ့မြင်ရသည့်အတိုင်း၊ VBA သည် error ကိုထုတ်ပေးသည့်လိုင်းကိုလျစ်လျူရှုပြီး အောက်ပါကုဒ်လိုင်းသို့ချက်ချင်းသွားပါသည်။ ဤနည်းအားဖြင့်၊ သင်သည် Excel VBA တွင် အမှားအယွင်းကို ကိုင်တွယ်ရန် On Error Resume Next ထုတ်ပြန်ချက်ကို အသုံးပြုနိုင်ပါသည်။

VBA ရှိ 'On Error Resume Next' ၏ ဥပမာများ

In အောက်ဖော်ပြပါ ကဏ္ဍများတွင် သင်သည် VBA ကို အသုံးပြု၍ သင်၏ Excel worksheet တွင် အကောင်အထည် ဖော်နိုင်သော အမှားအယွင်းအပေါ် နောက်တစ်ခု ဖော်ပြချက်၏ နမူနာနှစ်ခုကို သင့်အား ပေးပါမည်။ ဒါတွေအားလုံးကို သင့်အလုပ်စာအုပ်မှာ လေ့လာပြီး အသုံးချဖို့ အကြံပြုချင်ပါတယ်။ ၎င်းသည် သင်၏ Excel အသိပညာကို ကျိန်းသေပေါက် တိုးပွားစေမည်ဖြစ်သည်။

1. 'Error Resume Next' ဖော်ပြချက်

ယခု ဤဥပမာတွင်၊ ကျွန်ုပ်သည် သင့်အား VBA ကုဒ်တစ်ခုကို ပြပါမည်။သင့်အသက်ဝင်နေသော အလုပ်စာအုပ်၏ အလုပ်စာရွက်များအားလုံးကို ဝှက်ထားပါမည်။

အောက်ပါ ဖန်သားပြင်ဓာတ်ပုံကို ကြည့်ကြည့်ပါ-

ဤတွင်၊ ကျွန်ုပ်တို့တွင် အလုပ်စာရွက် လေးခုရှိသည်။ အောက်ပါ VBA ကုဒ်ကို အသုံးပြု၍ ၎င်းတို့အားလုံးကို ကျွန်ုပ်တို့ ဝှက်ထားပါမည်-

6128

အောက်ပါကုဒ်ကို သင်လုပ်ဆောင်သောအခါ၊ အောက်ပါ run-time error ကို တွေ့ရလိမ့်မည်-

Excel သည် အလုပ်စာအုပ်ထဲတွင် စာရွက်များအားလုံးကို မဝှက်နိုင်သောကြောင့် ဤအမှားကို ပြသည်။ ဒါကြောင့် အမှားကို လျစ်လျူရှုရပါမယ်။ ၎င်းကိုလုပ်ဆောင်ရန်၊ သင်၏ကုဒ်စာကြောင်းတွင် On Error Resume Next ကို အကောင်အထည်ဖော်ရန် လိုအပ်သည်။

3512

VBA ကုဒ်ကို အကောင်အထည်ဖော်ပြီးနောက်၊ သင်သည် အောက်ပါ output ကို တွေ့ရလိမ့်မည်-

အဆုံးတွင်၊ ကွပ်မျက်ပြီးနောက် မည်သည့်အမှားအယွင်းကိုမျှ သင်မတွေ့ရတော့ပါ။ ထို့ကြောင့်၊ ကျွန်ုပ်တို့၏ On Error Resume Next statement သည် VBA ကုဒ်တွင် အမှန်တကယ် ကောင်းမွန်စွာ အလုပ်လုပ်ပါသည်။

Read More: Excel တွင် အမှားများနှင့် ၎င်းတို့၏အဓိပ္ပါယ်များ (မတူညီသော Error 15 ခု)

2. VBA တွင် 'အမှား ဆက်လက်လုပ်ဆောင်ရန်' နှင့် 'On Error Resume Next' ပါသော VLOOKUP လုပ်ဆောင်ချက်ကို ဤဥပမာတွင်၊ VBA တွင် VLOOKUP လုပ်ဆောင်ချက်ကို နမူနာပြပါမည် ။ ယခု၊ ဤ VBA ကုဒ်တွင် အမှား ဆက်လက်လုပ်ဆောင်ရန် နောက်တစ်ခု ထုတ်ပြန်ချက်လည်း ပါရှိသည်။

အောက်ပါ ဖန်သားပြင်ဓာတ်ပုံကို ကြည့်ကြည့်ပါ-

ဤနေရာတွင် အချို့သောလူများ၏အမည်များနှင့် ၎င်းတို့၏အသက်များကို သင်တွေ့မြင်နိုင်ပါသည်။ ကပ်လျက်ဇယားတွင်၊ လူ၏အမည်နှင့် အသက်ကိုရှာဖွေရန် VLOOKUP ကိုအသုံးပြုပါမည်။

၎င်းကိုလုပ်ဆောင်ရန် အောက်ပါကုဒ်ကိုရိုက်ပါ-

3465

ယခု၊ မက်ခရိုကိုဖွင့်ပါ။ . အောက်ပါအမှားကို သင်တွေ့လိမ့်မည်-

ယခု၊ ဤအချိန်သည် လည်ပတ်နေသည့်အချိန်ဖြစ်သည်အမှား။ ဘာကြောင့်ဖြစ်တာလဲ။ ဒေတာအတွဲကို ထပ်မံကြည့်ရှုပါ-

သင်မြင်ရသည့်အတိုင်း၊ "Aaron" နှင့် "Emma" အတွက် ဒေတာမရှိပါ။ ထို့ကြောင့် ၎င်းသည် VLOOKUP ကို ပထမဆုံးဝင်ရောက်မှုအတွက်သာ လုပ်ဆောင်ပါသည်။ အဲဒီနောက်မှာတော့ ကွပ်မျက်မှုကို ရပ်လိုက်ပါတယ်။ ယခု၊ သင်သည် အမှားကို လျစ်လျူရှုပြီး ကျန်ခေတ်များကို ရှာဖွေလိုပါက၊ On Error Resume Next ကြေညာချက်ကို အသုံးပြုပါ။

8545

VBA ကုဒ်ကို အသုံးပြုပြီးနောက်၊ သင်တွေ့လိမ့်မည် အောက်ပါ output-

သင်တွေ့မြင်ရသည့်အတိုင်း On Error Resume Next command ကိုအသုံးပြုခြင်းဖြင့်၊ ကျွန်ုပ်တို့သည် error ကို လျစ်လျူရှုပြီး ကျန်လူများကို တွေ့ရှိပါသည်၊ အသက်အရွယ်။ ကျွန်ုပ်တို့၏ VBA ကုဒ်သည် Aaron နှင့် Emma တို့၏ မည်သည့်ဒေတာကိုမျှ ရှာမတွေ့ပါ။ ထို့ကြောင့် ၎င်းသည် ထိုတန်ဖိုးများကို လျစ်လျူရှုပြီး Excel အလုပ်စာရွက်ရှိ ကျန်တန်ဖိုးများကို ပြန်ပေးပါသည်။

နောက်ထပ်ဖတ်ရန်- [Fixed] Excel ဤအလုပ်စာရွက်ရှိ ဖော်မြူလာကိုးကားချက်တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ပြဿနာတစ်ခုတွေ့ရှိခဲ့သည်

Excel VBA ဖြင့် 'On Error Resume Next' ကိုပိတ်ပါ

ယခု၊ သင်သည် VBA ကုဒ်၏ အစိတ်အပိုင်းတစ်ခုအတွက် အမှားများကို လျစ်လျူရှုလိုသည့် အခြေအနေတွင် ရှိနေနိုင်ပါသည်။ VBA ကုဒ်တစ်ခုတွင် On Error Resume Next statement ကိုအသုံးပြုပါက၊ ၎င်းနောက်တွင် error အားလုံးကို ကျော်သွားမည်ဖြစ်ကြောင်း သတိရပါ။ ယခု၊ သင်သည် ၎င်းကိုပိတ်ပြီး အခြားအပိုင်းအတွက် အမှားအယွင်းကိုင်တွယ်မှုကို ဖွင့်လိုပါက အမှား GoTo 0 ကို အသုံးပြုပါ။ ၎င်းသည် အမှားအယွင်းများကို ကိုင်တွယ်ခြင်းအား ထပ်မံလုပ်ဆောင်ပေးမည်ဖြစ်သည်။

ယေဘုယျအသုံးပြုမှု-

Sub error_handling()

အမှားများကို လျစ်လျူရှုရန်

အမှားတွင် နောက်သို့ဆက်ရန်

// ကုဒ်လိုင်းများ

သို့အမှားကိုင်တွယ်ခြင်းကိုဖွင့်ပါ

အမှား GoTo 0

//ကုဒ်များ၏လိုင်းများ

အဆုံးခွဲ

ကိုကြည့်ပါ အောက်ပါ VBA ကုဒ်-

2277

ကျွန်ုပ်တို့သည် VLOOKUP လုပ်ဆောင်ချက်အတွက် ယခင်ကကုဒ်ကို အသုံးပြုခဲ့သည်။ ဤတွင် သင့်အား သရုပ်ပြရန် ကုဒ်အပိုင်းအစတစ်ခု ထပ်ထည့်ထားသည်။ ကျွန်ုပ်တို့၏ကုဒ်သည် VLOOKUP လုပ်ဆောင်နေစဉ်တွင် အမှားအယွင်းများကို လျစ်လျူရှုမည်ဖြစ်သော်လည်း အမှား GoTo 0 ဖော်ပြချက်ပြီးနောက် ၎င်းသည် အမှားအယွင်းများကို ကိုင်တွယ်ခြင်းအား သက်ဝင်စေမည်ဖြစ်သည်။

နောက်ထပ်ဖတ်ရန်- Excel VBA- “On Error Resume Next” ကိုပိတ်ပါ

VBA 'On Error GoTo'

ယခင်က ဆွေးနွေးထားသည် On Error နည်းလမ်းကို အသုံးပြု၍ အမှားများကို ကိုင်တွယ်ဖြေရှင်းခြင်း။ ကျွန်ုပ်တို့၏ဆောင်းပါးတစ်ခုလုံးသည် အမှားနောက်သို့ ပြန်လည်စတင်ရန်အကြောင်းဖြစ်သည်။ ယခု၊ အောက်ဖော်ပြပါ ကဏ္ဍများတွင် ကျွန်ုပ် ဆွေးနွေးမည့် အမှားအယွင်း ကိုင်တွယ်ခြင်း အမျိုးအစား နှစ်မျိုးလည်း ရှိပါသည်။

1. VBA On Error GoTo 0

The On Error Goto 0 ဖော်ပြချက်သည် သင့်ကုဒ်များတွင် error handler မရှိပါက Excel ၏ inbuilt setting ဖြစ်သည်။ အခြေခံအားဖြင့် VBA သည် Error GoTo 0 တွင် အမှားတစ်ခုတွေ့သောအခါ၊ ၎င်းသည် ကုဒ်ကိုလည်ပတ်ခြင်းကို ရပ်လိုက်ပြီး ၎င်း၏ရိုးရာအမှား မက်ဆေ့ချ်ဘောက်စ်ကို ပြသသွားမည်ဖြစ်သည်။

Error GoTo 0 ထုတ်ပြန်ချက်သည် အခြေခံအားဖြင့် လက်ရှိလုပ်ထုံးလုပ်နည်းတွင် အမှားအယွင်းကိုင်တွယ်ခြင်းကို ပိတ်သည်။ နည်းလမ်းသည် 0 နံပါတ်ပါသော စာကြောင်းကို ပေါင်းစပ်ထားသော်လည်း လိုင်း 0 ကို အမှား-ကိုင်တွယ်ခြင်းကုဒ်၏အစအဖြစ် မသတ်မှတ်ထားပေ။

အောက်ပါကုဒ်ကိုကြည့်ပါ-

2262

ကျွန်ုပ်တို့တွင် ရှိသည် ဒီကုဒ်ကို သင်ပြထားပြီးသားပါ။ ဤကုဒ်သည် အခြေခံအားဖြင့် အလုပ်စာရွက်အားလုံးကို ဝှက်ထားသည်။သင်၏လက်ရှိအလုပ်စာအုပ်တွင်။ ယခု ကျွန်ုပ်တွင် အမှားကိုပြသရန် အမှား GoTo 0 ပါသော ကုဒ်အပိုအပိုင်းတစ်ခုရှိပါသည်။ အကယ်၍ သင်သည် ကုဒ်ကို အသုံးပြုပါက၊ အောက်ပါတို့ကို တွေ့ရလိမ့်မည်-

အသုံးပြုနေသော အလုပ်စာအုပ်တွင် နာမည်တူစာရွက်များ မရရှိနိုင်သောကြောင့် ၎င်းသည် ဤအမှားကို ပြသည်။

2. အမှား GoTo line တွင် VBA

ယခု၊ အမှား GoTo line ကို အသုံးပြု၍ အမှားအယွင်းတစ်စုံတစ်ရာတွေ့ရှိပါက အခြားကုဒ်အပိုင်းတစ်ခုကို လုပ်ဆောင်ရန် Excel ကိုလည်း ညွှန်ကြားနိုင်သည်။ error ရှာပြီးနောက် တစ်ခုခုကို execute လုပ်ရန် Excel အား ပြောထားသည်။

လိုင်း အကြောင်းပြချက်သည် လိုင်းတက်ဂ် သို့မဟုတ် လိုင်းနံပါတ် တစ်ခုခုဖြစ်သည်။ ကျွန်ုပ်တို့၏ကုဒ်သည် run-time error တစ်ခုခုကို ဖြစ်စေပါက၊ ၎င်းသည် လိုင်းသို့ ရွေ့သွားမည်ဖြစ်ပြီး၊ execution တွင် error handler ကို active ဖြစ်စေပါသည်။ သင်၏သတ်မှတ်ထားသောစာကြောင်းသည် On Error ထုတ်ပြန်ချက်ကဲ့သို့ တိကျသောလုပ်ငန်းစဉ်တွင်ရှိရမည်ဟု သတိရပါ။ မဟုတ်ပါက၊ ၎င်းသည် compile error ဖြစ်စေပါသည်။

အောက်ပါကုဒ်ကိုကြည့်ပါ-

4700

ယခင်နမူနာတွင် ကုဒ်ကို သင်တွေ့မြင်ရပါသည်။ ကျွန်ုပ်တို့ အမှား GoTo 0 ကိုအသုံးပြုသောအခါ၊ ၎င်းသည် အမှားအယွင်းဖြစ်ခဲ့သည်။ သို့သော်၊ ဤနေရာတွင် အမှား GoTo လိုင်း ဖော်ပြချက်ဖြင့် ၎င်းကို အစားထိုးလိုက်ပါသည်။

ယခု၊ ကုဒ်ကိုဖွင့်ပြီး အောက်ပါတို့ကို တွေ့ရလိမ့်မည်-

သင်တွေ့မြင်ရသည့်အတိုင်း၊ ၎င်းသည် ကျွန်ုပ်တို့အား စံအမှား ဒိုင်ယာလော့ခ်ဘောက်စ်ကို မပြပါ။ ယင်းအစား၊ error_handler အပိုင်းတွင် ကျွန်ုပ်တို့ ဖန်တီးထားသော စိတ်ကြိုက် မက်ဆေ့ချ်ဘောက်စ်ကို ပြသသည်။ Excel သည် အမှားအယွင်းတစ်စုံတစ်ရာကို တွေ့ရှိသောအခါ၊ ၎င်းသည် error_handler အပိုင်းသို့ ခုန်ဆင်းသွားပြီး မက်ဆေ့ချ်ဘောက်စ်ကို ကျွန်ုပ်တို့အား ပြသပေးပါသည်။

လုပ်ငန်းစဉ်တွင် Exit Sub ကိုလည်း အသုံးပြုပါသည်။“ VLOOKUP ” ဟု အမည်ပေးထားသည့် စာရွက်မရှိပါက၊ ကျွန်ုပ်တို့၏ VBA ကုဒ်သည် အသက်ဝင်သောစာရွက်ကို အမည်ပြောင်းပါမည်။ ထို့နောက်၊ ကျွန်ုပ်တို့သည် error handler သို့ဆက်သွား၍ message box ကိုပြသရန်မလိုအပ်သောကြောင့် ဤနေရာတွင် အကောင်အထည်ဖော်မှုကို အပြီးသတ်ရပါမည်။

VBA 'On Error' Excel တွင်အလုပ်မလုပ်ပါ

တစ်ခါတစ်ရံ၊ သင်ဘယ်လောက်ပဲ ကြိုးစားကြိုးစား On Error နည်းလမ်းက အလုပ်မဖြစ်ပါဘူး။ ယခင်က ကျွန်ုပ်တို့သည် အမှားများကို ကိုင်တွယ်ရန် On Error နည်းလမ်းကို အကောင်အထည်ဖော်ခဲ့သည်။ သို့သော်၊ သင်သည် အမှားရှေ့ဆက်ရန် သို့မဟုတ် အမှား GoTo 0 ကိုအသုံးပြုလျှင်ပင် တစ်ခါတစ်ရံတွင် ၎င်းသည် အမှားအယွင်းများကို ပြလိမ့်မည်။ သင့်ကုဒ်တွင် သင်ပြင်ရမည့် အကြောင်းရင်းများစွာ ရှိနိုင်ပါသည်။ အဲဒါကို ငါပြမှာမဟုတ်ဘူး။

VBA ' အမှားပေါ်' Excel တွင် အလုပ်မလုပ်ခြင်းအတွက် အခြေခံအကြောင်းရင်းမှာ Excel ရှိ “အမှားများအားလုံးကို ဖြတ်ရန်” ရွေးချယ်မှုကို ဖွင့်ထားသည်။

၎င်းကိုဖြေရှင်းရန် ဤအဆင့်များကို လိုက်နာပါ-

📌 အဆင့်များ

  • ပထမဦးစွာ သင့်ကီးဘုတ်ပေါ်ရှိ Alt+F11 ကိုနှိပ်ပါ VBA တည်းဖြတ်သူကိုဖွင့်ပါ။
  • ယခု၊ Tools > ကိုနှိပ်ပါ။ ရွေးချယ်စရာများ။

  • ထို့နောက်၊ အထွေထွေ တက်ဘ်ကို ရွေးချယ်မှုများ ဒိုင်ယာလော့ဂ်တွင် နှိပ်ပါ။ အကွက်။

  • ဤတွင်၊ “ အမှားများအားလုံးကို ဖြတ်ရန် ” ကို အမှန်ခြစ်ထားပြီးဖြစ်ကြောင်း သင်တွေ့နိုင်ပါသည်။ ၎င်းသည် အခြေခံအားဖြင့် သင့်အား အမှားအယွင်းများကို ကိုင်တွယ်ခြင်းမှ တားဆီးပေးပါသည်။
  • ၎င်းကို ပြောင်းလဲရန်၊ “ မကိုင်တွယ်ရသေးသော အမှားများကို ဖျက်ရန် ” ရွေးစရာကို ရွေးပြီး OK ကိုနှိပ်ပါ။

Excel တွင် အလုပ်မလုပ်သော VBA “On Error” ၏ ပြဿနာကို ဖြေရှင်းနိုင်မည်ဟု မျှော်လင့်ပါသည်။

ပိုမိုဖတ်ရန်- အကြောင်းရင်းများ နှင့် ပြင်ဆင်မှုများ

Hugh West သည် လုပ်ငန်းနယ်ပယ်တွင် အတွေ့အကြုံ 10 နှစ်ကျော်ရှိသော Excel သင်တန်းဆရာနှင့် ခွဲခြမ်းစိတ်ဖြာသူဖြစ်သည်။ စာရင်းကိုင်နှင့် ဘဏ္ဍာရေးဆိုင်ရာဘွဲ့နှင့် စီးပွားရေးစီမံခန့်ခွဲမှု မဟာဘွဲ့တို့ကို ရရှိထားသူဖြစ်သည်။ Hugh သည် သင်ကြားရေးကို ဝါသနာပါပြီး လိုက်နာရန်နှင့် နားလည်ရန်လွယ်ကူသော ထူးခြားသောသင်ကြားရေးနည်းလမ်းကို တီထွင်ခဲ့သည်။ Excel ၏ ကျွမ်းကျင်သော အသိပညာသည် ကမ္ဘာတစ်ဝှမ်းရှိ ထောင်ပေါင်းများစွာသော ကျောင်းသားများနှင့် ပရော်ဖက်ရှင်နယ်များကို ၎င်းတို့၏ ကျွမ်းကျင်မှုနှင့် ၎င်းတို့၏ အသက်မွေးဝမ်းကြောင်းတွင် ထူးချွန်အောင် ကူညီပေးခဲ့သည်။ သူ၏ဘလော့ဂ်မှတစ်ဆင့်၊ Hugh သည် လူတစ်ဦးချင်းစီနှင့် လုပ်ငန်းများ၏ အလားအလာများ ပြည့်မီစေရန်အတွက် အခမဲ့ Excel သင်ခန်းစာများနှင့် အွန်လိုင်းသင်တန်းများကို ပေးဆောင်ကာ သူ၏အသိပညာကို ကမ္ဘာနှင့်မျှဝေပါသည်။