Kuidas kustutada veerge mitmes Exceli töövihikus

Väga sageli näeb inimesi, kes salvestavad konfidentsiaalseid andmeid Exceli töövihikutesse. Kui neid töövihikuid tuleb jagada teiste kolleegide või sõpradega, on käsitsi kustutamine ainus võimalik valik. Sellest artiklist saate aga teada, kuidas kiiresti mitmest töövihikust konfidentsiaalseid veerge või soovimatuid veerge kustutada.

Download Now

Kui soovite tarkvara võimalikult kiiresti kasutama hakata, saate:

Laadige tarkvara kohe alla

Vastasel juhul, kui soovite ise teha, saate lugeda allpool olevat sisu.

Valmistame GUI ette

Nagu pildil näidatud, nimetage leht 1 ümber "Juhtpaneeliks". Kasutades kujundeid, lisaksime sellele lehele nupud, et muuta see selle tööriista jaoks GUI-ks (graafiline kasutajaliides). Sellel GUI-l on vaja kolme välja. Väli 1 on kasutaja valitud töövihiku kuvamiseks. Väljal 2 kuvatakse rippmenüüna valitud töövihiku veerud. Väli 3 on veergude loend, mis tuleks töövihikust eemaldada.Valmistage GUI ette

Kuidas see toimib?

VBA koodProtseduur p_fpick võimaldaks kasutajal sirvida ja valida Exceli faile. Niipea kui Exceli fail on valitud, loeb skript veergude nimed lehelt Sheet1 ja need nimed kuvatakse rippmenüüna. Protseduur "Add_Column" võimaldab kasutajal lisada valitud veeru nime rippmenüüst, et lisada see kustutatavate veergude loendisse. Viimane protseduur "Delete_Columns" avab väljal "Vali töövihik" loetletud töövihiku ja eemaldab kõik valitud veerud. Pärast kustutamist töövihik salvestatakse ja suletakse.

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

Kohandage seda

Praeguse seisuga käsitleb see skript ainult ühte töövihikut. Kuid kasutades viimati kasutatud reameetodit, saate panna makro käsitsema mitut töövihikut pakettrežiimis. Skript ei saa aga avada a rikutud Excel töövihik.

Autori sissejuhatus:

Nick Vipond on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas sõna taastamine ja Outlooki taastamise tarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom.

Kommentaarid on suletud.