人們在 Excel 工作簿中保存機密數據是很常見的。 當這些工作簿必須與其他同事或朋友共享時,手動刪除是唯一可用的選項。 但是,通過本文,您將了解如何從多個工作簿中快速刪除機密列或不需要的列。
立即下載
如果你想tart盡快使用該軟件,那麼您可以:
否則,如果要DIY,可以閱讀以下內容。
讓我們準備GUI
如圖所示,將 Sheet 1 重命名為“ControlPanel”。 使用形狀,我們將在此工作表上添加按鈕,使其顯示為該工具的 GUI(圖形用戶界面)。 我們需要此 GUI 上的三個字段。 Field1 是顯示用戶選擇的工作簿。 字段 2 用於將所選工作簿中的列顯示為下拉列表。 字段 3 是應從工作簿中刪除的列的列表。
如何運作?

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.是數據恢復技術的全球領導者,包括 單詞恢復 和Outlook恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM.