Ինչպես խմբաքանակով ջնջել սյունակները Excel- ի բազմաթիվ աշխատանքային գրքերում

Կիսվել հիմա ՝

Շատ տարածված է տեսնել, թե ինչպես են Excel աշխատանքային գրքույկներում գաղտնի տվյալներ պահող մարդիկ: Երբ այդ աշխատանքային գրքերը պետք է կիսվեն այլ գործընկերների կամ ընկերների հետ, ձեռքով ջնջումը մատչելի միակ տարբերակն է: Այնուամենայնիվ, այս հոդվածով դուք կսովորեք, թե ինչպես արագորեն ջնջել գաղտնի սյունակները կամ անցանկալի սյունները բազմաթիվ աշխատանքային գրքերից:

Download Now

Եթե ​​ուզում եք սtarհնարավորինս շուտ օգտագործել ծրագրակազմը, ապա կարող եք.

Ներբեռնեք ծրագիրը այժմ

Հակառակ դեպքում, եթե ցանկանում եք ինքնուրույն վարվել, կարող եք կարդալ ստորև բերված բովանդակությունը:

Պատրաստենք GUI

Ինչպես ցույց է տրված նկարում, 1 թերթը վերանվանեք «ControlPanel»: Օգտագործելով ձևեր, այս թերթիկի վրա կավելացնեինք կոճակները, որպեսզի այն այս գործիքի համար հայտնվի որպես GUI (գրաֆիկական օգտագործողի միջերես): Այս GUI- ի վրա մեզ երեք դաշտ է պետք: Field1- ը ցուցադրելու է այն աշխատանքային գիրքը, որն ընտրված է օգտագործողի կողմից: 2-րդ դաշտը ընտրված աշխատանքային գրքից սյունակները ցուցադրելն է որպես բացվող: Դաշտ 3-ը սյունակների ցանկ է, որոնք պետք է հանվեն աշխատանքային գրքից:Պատրաստեք GUI

Ինչպես է դա աշխատում?

VBA կոդP_fpick ընթացակարգը թույլ կտա օգտվողին թերթել և ընտրել Excel ֆայլեր: Excel ֆայլ ընտրվելուն պես, սցենարը կարդում է Sheet1 սյունակի անունները, և այդ անունները ցուցադրվում են իջնող: «Add_Column» կարգը թույլ կտա օգտվողին ավելացնել ընտրված սյունակի անունը բացվող սյունակից ՝ սյունակների ցուցակին ավելացնելու համար, որոնք պետք է ջնջվեն: «_Նջել_ սյունակները» վերջնական ընթացակարգը կբացի աշխատանքային գիրքը, որը նշված է «Ընտրիր աշխատանքային գիրքը» դաշտի տակ, և կհեռացնի բոլոր ընտրված սյունակները: Tionնջելուց հետո աշխատանքային գիրքը կփրկվի և կփակվի:

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

Կսմթել այն

Այս պահի դրությամբ այս սցենարը կարգավորում է միայն մեկ աշխատանքային գրքույկ: Բայց օգտագործելով վերջին օգտագործված շարքի մեթոդը, դուք կարող եք մակրո կարգավորել մի քանի աշխատանքային գրքեր խմբաքանակի ռեժիմում: Այնուամենայնիվ, սցենարը չի կարող բացել ա կոռումպացված Excel- ը աշխատանքային գրքույկ

Հեղինակի ներածություն.

Nick Vipond- ը տվյալների վերականգման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում բառի վերականգնում և հեռանկարների վերականգնման ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com.

Կիսվել հիմա ՝

Comments փակվում են: