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- သီးခြားစာသားဖြင့် ဆဲလ်များကို ရေတွက်နည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်