Labai dažnai žmonės išsaugo konfidencialius duomenis „Excel“ darbaknygėse. Kai šiomis darbaknygėmis reikia dalytis su kitais kolegomis ar draugais, vienintelė galima parinktis yra ištrinti rankiniu būdu. Tačiau iš šio straipsnio sužinosite, kaip greitai ištrinti konfidencialius stulpelius arba nepageidaujamus stulpelius iš kelių darbaknygių.
Atsisiųsti dabar
Jei norite kuo greičiau pradėti naudoti programinę įrangą, galite:
Atsisiųskite programinę įrangą dabar
Kitu atveju, jei norite pasidaryk pats, galite perskaityti toliau pateiktą turinį.
Paruoškime GUI
Kaip parodyta paveikslėlyje, pervardykite 1 lapą į „ControlPanel“. Naudodami formas, šiame lape pridėtume mygtukus, kad jis atrodytų kaip šio įrankio grafinė vartotojo sąsaja. Šioje GUI mums reikia trijų laukų. 1 laukas skirtas parodyti vartotojo pasirinktą darbaknygę. 2 laukas skirtas rodyti stulpelius iš pasirinktos darbaknygės kaip išskleidžiamąjį meniu. 3 laukas yra stulpelių, kuriuos reikia pašalinti iš darbaknygės, sąrašas.
Kaip tai veikia?

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
Pakeiskite
Šiuo metu šis scenarijus tvarko tik vieną darbaknygę. Tačiau naudodami paskutinį naudotą eilutės metodą, makrokomandą galite nustatyti, kad kelias darbaknyges tvarkytų paketiniu režimu. Tačiau scenarijus negali atidaryti a sugadintas Excel darbo knyga.
Autoriaus įvadas:
Nickas Vipondas yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant žodžio atkūrimas ir Outlook atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com.