Vba- အမည်တွင် သီးခြားစာသားပါရှိလျှင် စာရွက်ကို ဖျက်ပါ။


တိကျသောစာသားပါရှိသော Excel အလုပ်စာအုပ်ရှိ စာရွက်တစ်ခုစီကို ဖျက်ရန် VBA တွင် အောက်ပါ syntax ကို သင်အသုံးပြုနိုင်သည်-

 SubDeleteSheets ()

    Dim TextToFind As String
    Dim TextWildcard As String
    Dim Ws As Worksheet
    Dim i As Integer
    
    'prompt user for text to search for in sheet names
    TextToFind = Application.InputBox(" Delete Sheets That Contain: ", _
                                    ThisWorkbook.ActiveSheet.Name, , , , , 2)
                                    
    TextWildcard = " * " & TextToFind & " * "
    Application.DisplayAlerts = False
    
    'loop through sheets and delete each sheet that contains text
    i = 0
    For Each Ws In ThisWorkbook.Sheets
        If Ws.Name Like TextWildcard Then
            Ws.Delete
            i = i + 1
        End If
    Next Ws
    
    Application.DisplayAlerts = True
    
End Sub

ဤအထူးမက်ခရိုကို သင်လုပ်ဆောင်သောအခါ၊ သင်သည် သီးခြားစာသားစာကြောင်းကို ရိုက်ထည့်နိုင်သည့် အကွက်တစ်ခု ပေါ်လာလိမ့်မည်။

Enter နှိပ်လိုက်သည်နှင့်၊ ထိုသတ်သတ်မှတ်မှတ်စာသားပါရှိသော Excel workbook ရှိ စာရွက်တစ်ခုစီကို အလိုအလျောက် ဖျက်လိုက်ပါမည်။

မှတ်ချက်Application.DisplayAlerts=False line သည် ၎င်း၏လုပ်ဆောင်မှုကို အရှိန်မြှင့်ပေးသည့် စာရွက်များကို ဖျက်ခြင်းလုပ်ငန်းစဉ်ကို မပြသရန် VBA အား ပြောထားသည်။

အောက်ဖော်ပြပါ ဥပမာသည် ဤ syntax ကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။

ဥပမာ- သီးခြားစာသားပါရှိသောစာရွက်များကိုဖျက်ရန် VBA ကိုသုံးပါ။

ကျွန်ုပ်တို့တွင် စာရွက်လေးရွက်ပါရှိသော အောက်ပါ Excel workbook ရှိသည်ဆိုပါစို့။

ယခု ကျွန်ုပ်တို့သည် စာရွက်အမည်တွင် “ အဖွဲ့” ပါရှိသည့် စာရွက်တိုင်းကို ဖျက်လိုသည်ဟု ဆိုကြပါစို့။

ဒါကိုလုပ်ဖို့ အောက်ပါ macro ကို ဖန်တီးနိုင်ပါတယ်။

 SubDeleteSheets ()

    Dim TextToFind As String
    Dim TextWildcard As String
    Dim Ws As Worksheet
    Dim i As Integer
    
    'prompt user for text to search for in sheet names
    TextToFind = Application.InputBox(" Delete Sheets That Contain: ", _
                                    ThisWorkbook.ActiveSheet.Name, , , , , 2)
                                    
    TextWildcard = " * " & TextToFind & " * "
    Application.DisplayAlerts = False
    
    'loop through sheets and delete each sheet that contains text
    i = 0
    For Each Ws In ThisWorkbook.Sheets
        If Ws.Name Like TextWildcard Then
            Ws.Delete
            i = i + 1
        End If
    Next Ws
    
    Application.DisplayAlerts = True
    
End Sub

ဤ macro ကို run သောအခါ၊ စာရွက်အမည်များတွင် ကျွန်ုပ်တို့ ရှာဖွေလိုသော စာသားကို ရိုက်ထည့်နိုင်သည့် အကွက်တစ်ခု ပေါ်လာသည်-

ကျွန်ုပ်တို့ “ Team” ကိုရိုက်ပြီး OK ကို နှိပ်လိုက်သည်နှင့် “ Team” ပါရှိသော စာရွက်အမည်များကို အလိုအလျောက် ဖျက်လိုက်ပါမည်။

စာရွက်အမည်ရှိ “ အဖွဲ့” ပါသော စာရွက်နှစ်ရွက်ကို ဖယ်ရှားလိုက်ကြောင်း သတိပြုပါ။

“ အဖွဲ့” မပါဝင်သော စာရွက်များကို မထိမခိုက်ဘဲ ထားခဲ့သည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် VBA တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

VBA- အလုပ်စာအုပ်တွင် စာရွက်အရေအတွက်ကို ရေတွက်နည်း
VBA- အခြားအလုပ်စာအုပ်မှ ဒေတာကို မည်သို့ထုတ်ယူမည်နည်း။
VBA- လိုင်းများစွာကို ထည့်သွင်းနည်း

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

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