Vba- စာကြောင်းတစ်ခုရှိ ဇာတ်ကောင်များကို အစားထိုးနည်း
string တစ်ခုရှိ စာလုံးများကို အစားထိုးရန် VBA တွင် Replace() method ကို သုံးနိုင်သည်။
ဤနည်းလမ်းသည် အောက်ပါအခြေခံ syntax ကိုအသုံးပြုသည်-
အစားထိုးခြင်း(အသုံးအနှုန်း၊ ရှာဖွေ၊ အစားထိုး၊ စတင်၊ ရေတွက်)
ရွှေ-
- expression- စာလုံးများကို သင်အစားထိုးလိုသော စာကြောင်း
- find : ရှာရန် စာကြောင်း
- အစားထိုး : အစားထိုးအဖြစ် အသုံးပြုရန် စာကြောင်း
- start ( optional ) : ရှာဖွေရန် string မှ စတင်သည့် အနေအထား
- count ( optional ) : လုပ်ဆောင်ရန် အစားထိုးမှု အရေအတွက်
အောက်ဖော်ပြပါနမူနာများသည် Excel ရှိ အောက်ပါစာကြောင်းများစာရင်းဖြင့် ဤနည်းလမ်းကို လက်တွေ့အသုံးပြုနည်းကို ပြသသည်-

ဥပမာ 1- စာကြောင်းတစ်ခုရှိ ဇာတ်ကောင်များ၏ ဖြစ်ပျက်မှုအားလုံးကို အစားထိုးရန် VBA ကိုသုံးပါ
စာကြောင်းတစ်ခုစီတွင် “ ဤ” ကို “ ထို” ဖြင့် အစားထိုးလိုသည်ဟု ဆိုကြပါစို့။
ဒါကိုလုပ်ဖို့ အောက်ပါ macro ကို ဖန်တီးနိုင်ပါတယ်။
Sub ReplaceChar() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(Range(" A " & i), " this ", " THAT ") Next i End Sub
ကျွန်ုပ်တို့ ဤ macro ကို run သောအခါတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါ output ကို ရရှိသည် ။

ကော်လံ B သည် ကော်လံ A ရှိ ကြိုးတစ်ချောင်းစီကို ပြသသည်၊ “ ဤ” ပေါ်ပေါက်မှုတစ်ခုစီကို “ ထို” ဖြင့် အစားထိုးသည်။
ဤအစားထိုးမှုသည် case sensitive ဖြစ်သည်ကို သတိပြုပါ။
ဆိုလိုသည်မှာ “ဤ” ဖြစ်ပျက်မှုတိုင်းကို အစားထိုးသော်လည်း “ဤ” ဖြစ်ပျက်မှုတိုင်းသည် တစ်ဦးတည်းကျန်ရစ်သည်။
ဥပမာ 2- စာကြောင်းတစ်ခုရှိ ဇာတ်ကောင်များ၏ ဖြစ်ပျက်မှုအားလုံးကို အစားထိုးရန် VBA ကိုသုံးပါ (စာလုံးအသေးမပါသော)
စာကြောင်းတစ်ခုစီရှိ “ ဤ” (မည်သည့်ကိစ္စမဆို) “ THAT” ဖြင့် အစားထိုးလိုသည်ဆိုကြပါစို့။
ဒါကိုလုပ်ဖို့ အောက်ပါ macro ကို ဖန်တီးနိုင်ပါတယ်။
Sub ReplaceChar() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", " THAT ") Next i End Sub
ကျွန်ုပ်တို့ ဤ macro ကို run သောအခါတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါ output ကို ရရှိသည် ။

ကော်လံ B သည် ကော်လံ A ရှိ ကြိုးတစ်ချောင်းစီကို ပြသသည်၊ “ ဤ” ပေါ်ပေါက်မှုတစ်ခုစီကို “ ထို” ဖြင့် အစားထိုးသည်။
ဤအစားထိုးမှုသည် case sensitive မဟုတ်ကြောင်း သတိပြုပါ။
ဆိုလိုသည်မှာ၊ “ ဤ” ၏ဖြစ်ပျက်မှုတိုင်း (စာလုံးကြီးဖြစ်စေ၊ မရေးသည်ဖြစ်စေ) ကိုအစားထိုးသည်။
စာကြောင်းတစ်ခုစီရှိ “ ဤ” ကိုမရှာဖွေမီ ကော်လံ A ရှိ စာကြောင်းတစ်ခုစီကို စာလုံးသေးအဖြစ်သို့ ဦးစွာပြောင်းလဲရန် LCase နည်းလမ်းကို အသုံးပြု၍ ဤ case-insensitive အစားထိုးမှုကို ကျွန်ုပ်တို့ လုပ်ဆောင်နိုင်ခဲ့သည်။
ဥပမာ 3- ကြိုးတစ်ချောင်းတွင် ဇာတ်ကောင်တစ်ခု၏ ပထမ N ဖြစ်ပျက်မှုကို အစားထိုးရန် VBA ကို အသုံးပြုပါ။
စာကြောင်းတစ်ခုစီရှိ “ ဤ” (မည်သည့်ကိစ္စနှင့်မျှမသက်ဆိုင်) “ အဲ” ၏ပထမဆုံးဖြစ်ပေါ်မှုကိုသာ အစားထိုးလိုသည်ဆိုပါစို့။
ဒါကိုလုပ်ဖို့ အောက်ပါ macro ကို ဖန်တီးနိုင်ပါတယ်။
Sub ReplaceChar() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", " THAT ", Count:=1) Next i End Sub
ကျွန်ုပ်တို့ ဤ macro ကို run သောအခါတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါ output ကို ရရှိသည် ။

ကော်လံ B သည် ကော်လံ A ရှိ ကြိုးတစ်ချောင်းစီကို “ ဤ” နှင့် “ အဲဒါ” ဖြင့် အစားထိုးသည့် ပထမဆုံးဖြစ်ပေါ်မှုသာ ပြသသည်။
သတ်မှတ်ထားသောစာကြောင်းတစ်ခု၏ပထမဆုံးဖြစ်ပေါ်မှုကိုသာအစားထိုးရန် Count:=1 ကို အသုံးပြုခဲ့သည်ကို သတိပြုပါ၊ သို့သော် သင်သည် သတ်မှတ်ထားသောစာကြောင်း၏ပထမ n ဖြစ်ပျက်မှုများကို သင်အစားထိုးလိုသော မည်သည့်တန်ဖိုးနှင့်မဆို 1 ကို အစားထိုးနိုင်ပါသည်။
မှတ်ချက် – VBA Replace နည်းလမ်းအတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာနိုင်သည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် VBA ကို အသုံးပြု၍ အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
VBA- စာကြောင်းတစ်ခုရှိ ဇာတ်ကောင်များ၏ ဖြစ်ပေါ်မှုကို ရေတွက်နည်း
VBA- စာကြောင်းတစ်ကြောင်းတွင် အခြားစာကြောင်းပါရှိမရှိ စစ်ဆေးနည်း
VBA- သီးခြားစာသားဖြင့် ဆဲလ်များကို ရေတွက်နည်း