Multiple Excel Workbooks တွင် ကော်လံများကို တွဲဖျက်နည်း

ယခုမျှဝေပါ-

Excel workbooks များတွင် လျှို့ဝှက်ဒေတာ သိမ်းဆည်းခြင်းကို လူများမြင်ရသည်မှာ အလွန်အဖြစ်များပါသည်။ ဤအလုပ်စာအုပ်များကို အခြားလုပ်ဖော်ကိုင်ဖက်များ သို့မဟုတ် သူငယ်ချင်းများနှင့် မျှဝေရသောအခါ၊ ကိုယ်တိုင်ဖျက်ခြင်းသည် ရနိုင်သောတစ်ခုတည်းသောရွေးချယ်မှုဖြစ်သည်။ သို့သော်၊ ဤဆောင်းပါးဖြင့်၊ သင်သည် အလုပ်စာအုပ်များစွာမှ လျှို့ဝှက်ကော်လံများ သို့မဟုတ် မလိုလားအပ်သော ကော်လံများကို မည်ကဲ့သို့ လျင်မြန်စွာ ဖျက်နည်းကို လေ့လာနိုင်မည်ဖြစ်သည်။

အခုတော့ကို Download လုပ်

ဆော့ဖ်ဝဲကို အမြန်ဆုံးအသုံးပြုလိုပါက အောက်ပါတို့ကို လုပ်ဆောင်နိုင်သည်-

Software ကိုယခုဒေါင်းလုဒ်လုပ်ပါ။

မဟုတ်ရင် DIY လုပ်ချင်တယ်ဆိုရင်တော့ အောက်က အကြောင်းအရာတွေကို ဖတ်ရှုနိုင်ပါတယ်။

GUI ကိုပြင်ဆင်ကြရအောင်

ပုံတွင်ပြထားသည့်အတိုင်း Sheet 1 ကို "ControlPanel" အဖြစ် အမည်ပြောင်းပါ။ ပုံသဏ္ဍာန်များကို အသုံးပြု၍ ဤကိရိယာအတွက် GUI (ဂရပ်ဖစ်အသုံးပြုသူ အင်တာဖေ့စ်) အဖြစ် ပေါ်လာစေရန် ဤစာရွက်ပေါ်တွင် ခလုတ်များ ထည့်ပါမည်။ ဤ GUI တွင် နယ်ပယ်သုံးခု လိုအပ်ပါသည်။ Field1 သည် အသုံးပြုသူမှ ရွေးချယ်ထားသော အလုပ်စာအုပ်ကို ပြသရန်ဖြစ်သည်။ Field 2 သည် ရွေးချယ်ထားသော workbook မှ ကော်လံများကို drop down အဖြစ် ပြသရန်ဖြစ်သည်။ Field 3 သည် အလုပ်စာအုပ်မှ ဖယ်ရှားသင့်သော ကော်လံများစာရင်းဖြစ်သည်။GUI ကိုပြင်ဆင်ပါ။

ဒါကဘယ်လိုမျိုးအလုပ်လုပ်သလဲ?

VBA ကုဒ်p_fpick လုပ်ထုံးလုပ်နည်းသည် သုံးစွဲသူအား Excel ဖိုင်များကို ရှာဖွေပြီး ရွေးချယ်နိုင်စေမည်ဖြစ်သည်။ Excel ဖိုင်ကို ရွေးလိုက်သည်နှင့်၊ script သည် Sheet1 မှ ကော်လံအမည်များကို ဖတ်မည်ဖြစ်ပြီး အဆိုပါအမည်များကို drop down အဖြစ် ပြသမည်ဖြစ်သည်။ “Add_Column” လုပ်ငန်းစဉ်သည် အသုံးပြုသူအား ဖျက်ပစ်ရမည့် ကော်လံများစာရင်းသို့ ထည့်ရန် drop down မှ ရွေးချယ်ထားသော ကော်လံအမည်ကို ထည့်သွင်းနိုင်စေမည်ဖြစ်သည်။ နောက်ဆုံးလုပ်ထုံးလုပ်နည်း "Delete_Columns" သည် "အလုပ်စာအုပ်ကိုရွေးချယ်ပါ" အကွက်အောက်တွင်ဖော်ပြထားသောအလုပ်စာအုပ်ကိုဖွင့်ပြီးရွေးချယ်ထားသောကော်လံအားလုံးကိုဖယ်ရှားမည်ဖြစ်သည်။ ဖျက်ပြီးနောက်၊ အလုပ်စာအုပ်ကို သိမ်းဆည်းပြီး ပိတ်သွားမည်ဖြစ်သည်။

Sub P_fpick()
    Dim v_fd As Office.FileDialog
    Set v_fd = Application.FileDialog(msoFileDialogFilePicker)
    With v_fd
        .AllowMultiSelect = False
        .Title = "Please select the Excel workbook"
        .Filters.Clear
        .Filters.Add "Excel", "*.xls*"
        If .Show = True Then
            cp.Range("B4").Value = .SelectedItems(1)
        End If
    End With
    
    Dim wb As Workbook
    Dim ab As Workbook
    
    Set ab = ThisWorkbook
    Set wb = Workbooks.Open(cp.Range("B4").Value)
    
    Dim v_sheets As String
    v_sheets = ""
    
    Dim lc As Long
    lc = wb.Sheets(1).Range("AZ1").End(xlToLeft).Column
    Dim c As Long
    For c = 1 To lc
        If v_sheets = "" Then
            v_sheets = wb.Sheets(1).Cells(1, c).Value
        Else
            v_sheets = v_sheets & "," & wb.Sheets(1).Cells(1, c).Value
        End If
    Next
    
    wb.Close False
    ab.Activate
    
    With ab.Sheets(1).Range("N4:O5").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=v_sheets
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With    
    
End Sub

Sub Add_Column()
    If Range("Q4").Value = "" Then
        Range("Q4").Value = Range("N4").Value
    Else
        Range("Q4").Value = Range("Q4").Value & "," & Range("N4").Value
    End If
End Sub

Sub Delete_Columns()
    Dim v_sheets() As String
    Dim ab As Workbook
    Dim wb As Workbook
    Set ab = ThisWorkbook
    Set wb = Workbooks.Open(Sheets(1).Range("B4").Text)
    Dim lc As Long
    lc = wb.Sheets(1).Range("AZ1").End(xlToLeft).Column
    Dim c As Long
    
    v_sheets = Split(ab.Sheets(1).Range("Q4").Text, ",")
    Dim intcount As Long
    For intcount = LBound(v_sheets) To UBound(v_sheets)
        For c = 1 To lc
            If wb.Sheets(1).Cells(1, c).Value = v_sheets(intcount) Then
                wb.Sheets(1).Columns(c).Delete Shift:=xlToLeft
            End If
        Next c
    Next intcount
    wb.Close True
    ab.Activate
End Sub

ညှိပါ။

ယခုအချိန်တွင် ဤဇာတ်ညွှန်းသည် အလုပ်စာအုပ်တစ်အုပ်တည်းသာ ကိုင်တွယ်သည်။ သို့သော် နောက်ဆုံးအသုံးပြုထားသော အတန်းနည်းလမ်းကို အသုံးပြု၍ macro သည် batch မုဒ်တွင် များစွာသော အလုပ်စာအုပ်များကို ကိုင်တွယ်လုပ်ဆောင်နိုင်သည်။ သို့သော် ဇာတ်ညွှန်းသည် a ကိုဖွင့်၍မရပါ။ Excel ယိုယွင်းနေသည်။ အလုပ်စာအုပ်။

စာရေးသူနိဒါန်း:

Nick Vipond သည် ဒေတာပြန်လည်ရယူရေးဆိုင်ရာ ကျွမ်းကျင်သူဖြစ်သည်။ DataNumen, Inc. အပါအဝင် ဒေတာပြန်လည်ရယူရေးနည်းပညာများတွင် ကမ္ဘာ့ခေါင်းဆောင်ဖြစ်သည်။ စကားလုံးပြန်လည်ရယူခြင်း။ နှင့် outlook recovery software ထုတ်ကုန်များ။ ပိုမိုသိရှိလိုပါကသွားရောက်ကြည့်ရှု www ။datanumen.com.

ယခုမျှဝေပါ-

မှတ်ချက်များကိုပိတ်ထားကြသည်။