Vba- ဆဲလ်တန်ဖိုးတစ်ခုပြောင်းလဲသောအခါ မက်ခရိုကို မည်သို့လည်ပတ်ရမည်နည်း။
တိကျသောဆဲလ်တန်ဖိုးတစ်ခုပြောင်းလဲသောအခါတွင် Macro တစ်ခုလည်ပတ်ရန် VBA တွင် အောက်ပါ syntax ကိုသုံးနိုင်သည်-
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = " $A$1 " Then
Call MultiplyMacro
End If
End Sub
ဤဥပမာသည် ဆဲလ် A1 ၏တန်ဖိုးပြောင်းလဲသောအခါ MultiplyMacro ဟုခေါ်သော မက်ခရိုကိုလည်ပတ်စေမည်ဖြစ်သည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤ syntax ကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။
ဥပမာ- VBA ကို အသုံးပြု၍ ဆဲလ်တန်ဖိုး ပြောင်းလဲသောအခါတွင် မက်ခရိုတစ်ခု လုပ်ဆောင်ပါ။
ကျွန်ုပ်တို့သည် ဆဲလ် A1 နှင့် B1 တွင် တန်ဖိုးများကို များပြားစေပြီး ဆဲလ် C1 တွင် ရလဒ်များကို ပြသပေးသည့် MultiplyMacro ဟုခေါ်သော အောက်ပါ macro ကို ဖန်တီးသည်ဆိုပါစို့။
SubMultiplyMacro ()
Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
End Sub
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့တွင် ဆဲလ် A1 တွင် တန်ဖိုး 12 နှင့် ဆဲလ် B1 တွင် တန်ဖိုး 3 ရှိသည်ဆိုပါစို့။
ကျွန်ုပ်တို့သည် ဤ macro ကို run ပါက၊ အောက်ပါရလဒ်ကို ရရှိပါမည်။

ယခု ကျွန်ုပ်တို့သည် ဆဲလ် A1 ၏တန်ဖိုးပြောင်းလဲသည့်အခါတိုင်း ဤမက်ခရိုကို အလိုအလျောက်လုပ်ဆောင်လိုသည်ဆိုပါစို့။
ဒါကိုလုပ်ဖို့၊ စာရွက်အမည်ပေါ်မှာ right-click နှိပ်ပြီး Show Code ကို နှိပ်နိုင်ပါတယ်။

ပေါ်လာသည့် ကုဒ်တည်းဖြတ်သည့်ဝင်းဒိုးတွင်၊ သင်သည် အောက်ပါကုဒ်ကို ကူးထည့်နိုင်သည်-
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = " $A$1 " Then
Call MultiplyMacro
End If
End Sub
အောက်ဖော်ပြပါ ဖန်သားပြင်ဓာတ်ပုံတွင် ၎င်းကို လက်တွေ့လုပ်ဆောင်ပုံကို ပြသသည်-

ထို့နောက် ကျွန်ုပ်တို့သည် VB အယ်ဒီတာကို ပိတ်နိုင်သည်။
ယခု၊ ကျွန်ုပ်တို့သည် ဆဲလ် A1 တွင် တန်ဖိုးကို ပြောင်းလဲသည့်အခါတိုင်း၊ MultiplyMacro ဟုခေါ်သော မက်ခရိုသည် ဆဲလ် A1 ရှိ တန်ဖိုးအသစ်ကို အသုံးပြု၍ မြှောက်ခြင်းကို အလိုအလျောက် လုပ်ဆောင်ပြီး ပေါင်းခြင်းကို လုပ်ဆောင်မည်ဖြစ်သည်။
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့သည် ဆဲလ် A1 ၏တန်ဖိုးကို 10 သို့ပြောင်းသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည် တန်ဖိုးကိုပြောင်းပြီး Enter နှိပ်လိုက်သည်နှင့်၊ Macro သည် အလုပ်လုပ်လိမ့်မည်-

မက်ခရိုသည် 10 နှင့် 3 မြှောက်ပြီး ရလဒ်ကို ဆဲလ် C2 တွင်ပြသသည်။
မှတ်ချက် – သတ်မှတ်ထားသော အပိုင်းအခြားတစ်ခုရှိ ဆဲလ်တစ်ခုမှ ပြောင်းလဲသောအခါတွင် မက်ခရိုကို ဖွင့်လိုပါက၊ သင်သည် အောက်ပါ syntax ကို အသုံးပြုနိုင်သည်။
Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(" A1:B1 ")) Is Nothing Then
Call MultiplyMacro
End If
End Sub
၎င်းသည် A1:B1 အကွာအဝေးရှိ ဆဲလ်တစ်ခုမှ ပြောင်းလဲပါက MultiplyMacro ဟုခေါ်သော မက်ခရိုကို လည်ပတ်စေမည်ဖြစ်သည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် VBA တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
VBA- အလုပ်စာအုပ်တွင် စာရွက်အရေအတွက်ကို ရေတွက်နည်း
VBA- အခြားအလုပ်စာအုပ်မှ ဒေတာကို မည်သို့ထုတ်ယူမည်နည်း။
VBA- စာရွက်အသစ်များထည့်နည်း