Si të fshini në grup kolonat në shumë libra pune në Excel

Është shumë e zakonshme të shohësh njerëz që ruajnë të dhëna konfidenciale në librat e punës në Excel. Kur këto libra pune duhet të ndahen me kolegë ose miq të tjerë, fshirja manuale është e vetmja mundësi e disponueshme. Sidoqoftë, me këtë artikull, do të mësoni se si të fshini shpejt kolonat konfidenciale ose kolonat e padëshiruara nga shumë libra pune.

Shkarkojeni Tani

Nëse doni të filloni ta përdorni programin sa më shpejt të jetë e mundur, atëherë mund të:

Shkarkoni softuerin tani

Përndryshe, nëse dëshironi të bëni DIY, mund të lexoni përmbajtjen më poshtë.

Le të përgatisim GUI-në

Siç tregohet në imazh, riemërtoni Fletën 1 si "Paneli i Kontrollit". Duke përdorur forma, ne do të shtonim butona në këtë fletë për ta bërë atë të shfaqet si GUI (Ndërfaqja grafike e përdoruesit) për këtë mjet. Ne kemi nevojë për tre fusha në këtë GUI. Fusha 1 është për të shfaqur librin e punës që zgjidhet nga përdoruesi. Fusha 2 do të shfaqë kolonat nga libri i zgjedhur i punës si drop-down. Fusha 3 është një listë e kolonave që duhet të hiqen nga libri i punës.Përgatitni GUI-në

Si funksionon kjo gjë?

Kodi VBAProcedura p_fpick do t'i lejonte përdoruesit të shfletojë dhe të zgjedhë skedarët Excel. Sapo të zgjidhet një skedar Excel, skripti do të lexonte emrat e kolonave nga Sheet1 dhe këta emra shfaqen si drop-down. Procedura "Add_Column" do t'i lejojë përdoruesit të shtojë emrin e kolonës së zgjedhur nga drop-down për ta shtuar në listën e kolonave që duhet të fshihen. Procedura përfundimtare “Delete_Columns” do të hapte librin e punës që ishte renditur në fushën “Zgjidhni librin e punës” dhe do të hiqte të gjitha kolonat e përzgjedhura. Pas fshirjes, libri i punës do të ruhet dhe do të mbyllet.

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

Shtype atë

Deri tani, ky skenar trajton vetëm një libër pune. Por duke përdorur metodën e fundit të rreshtit të përdorur, mund ta bëni makro të trajtojë disa libra pune në një modalitet grupi. Megjithatë, skenari nuk mund të hapë a Excel i korruptuar fletore pune.

Hyrje e autorit:

Nick Vipond është një ekspert i rikuperimit të të dhënave në DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë rikuperimi i fjalës dhe produkte softuerike për rikuperimin e opinionit. Për më shumë informacion vizitoni www.datanumen.com.

Komentet janë të mbyllura.