Vba- ဆဲလ်တန်ဖိုးပေါ်မူတည်၍ အတန်းများကို ဖျက်နည်း
ဆဲလ်တန်ဖိုးအပေါ် အခြေခံ၍ အတန်းများကို ဖျက်ရန် VBA တွင် အောက်ပါ syntax ကို သင်အသုံးပြုနိုင်သည်-
Sub DeleteRowsByValue()
Dim ws As Worksheet
Set ws = ActiveSheet
'clear existing filters
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
'filter range where column 2 in range is equal to "East"
ws.Range(" A1:C10 ").AutoFilter Field:=2, Criteria1:=" East "
'delete rows that are visible
Application.DisplayAlerts = False
ws.Range(" A2:C10 ").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'remove filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
End Sub
ကော်လံ B ၏တန်ဖိုး “ Is” နှင့် ညီမျှသည့် A1:C10 အတွင်းရှိ ဤအထူးမက်ခရိုသည် အတန်းအားလုံးကို ဖျက်သည်။
ဤ macro သည် အောက်ပါ အဆင့်များကို အသုံးပြုသည် ။
- ကော်လံ B တွင် တန်ဖိုးရှိသော အတန်းများကိုသာပြသရန် A1:C10 တွင် စစ်ထုတ်မှုတစ်ခုကို အသုံးပြုပါ။
- ထို့နောက် မြင်နိုင်သောဆဲလ်များအားလုံးကို ဖျက်ပါ။
- ထို့နောက် filter ကိုဖယ်ရှားပါ။
၎င်းသည် ကော်လံ B ရှိ တန်ဖိုး “ Is” နှင့် ညီမျှသည့် အပိုင်းအခြား A1:C10 အတွင်းရှိ အတန်းအားလုံးကို ဖျက်ခြင်း၏ အကျိုးသက်ရောက်မှုရှိသည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤ syntax ကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။
ဥပမာ- ဆဲလ်တန်ဖိုးအပေါ်အခြေခံ၍ အတန်းများကိုဖျက်ရန် VBA ကိုသုံးပါ။
အမျိုးမျိုးသော ဘတ်စကက်ဘောကစားသမားများအကြောင်း အချက်အလက်ပါရှိသော အောက်ပါဒေတာအတွဲကို ကျွန်ုပ်တို့တွင်ရှိသည်ဆိုပါစို့။

Conference column သည် “ East” နှင့် ညီမျှသည့် ဒေတာအတွဲမှ အတန်းတိုင်းကို ဖယ်ရှားလိုသည်ဆိုပါစို့။
ဒါကိုလုပ်ဖို့ အောက်ပါ macro ကို ဖန်တီးနိုင်ပါတယ်။
Sub DeleteRowsByValue()
Dim ws As Worksheet
Set ws = ActiveSheet
'clear existing filters
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
'filter range where column 2 in range is equal to "East"
ws.Range(" A1:C10 ").AutoFilter Field:=2, Criteria1:=" East "
'delete rows that are visible
Application.DisplayAlerts = False
ws.Range(" A2:C10 ").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
'remove filter
On Error Resume Next
ws.ShowAllData
On Error GoTo 0
End Sub
ကျွန်ုပ်တို့ ဤ macro ကို run သောအခါတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါ output ကို ရရှိသည် ။

ကွန်ဖရင့်ကော်လံရှိ တန်ဖိုး “ အရှေ့” ရှိသည့် အတန်းအားလုံးကို ဖျက်လိုက်ကြောင်း သတိပြုပါ။
မှတ်ချက် – Application.DisplayAlerts=False line သည် လုပ်ငန်းစဉ်ကို အရှိန်မြှင့်ပေးသည့် မြင်နိုင်သောလိုင်းများကို ဖယ်ရှားခြင်း လုပ်ငန်းစဉ်ကို မပြသရန် VBA အား ပြောထားသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် VBA တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
VBA- ဆဲလ်များတွင် အခြေအနေအလိုက် ဖော်မတ်ချနည်းကို အသုံးပြုနည်း
VBA- အပိုင်းအခြားရှိ အတန်းအရေအတွက်ကို ရေတွက်နည်း
VBA- သီးခြားစာသားဖြင့် ဆဲလ်များကို ရေတွက်နည်း