Napakakaraniwan na makita ang mga tao na nagse-save ng kumpidensyal na data sa mga workbook ng Excel. Kapag ang mga workbook na ito ay kailangang ibahagi sa iba pang mga kasamahan o kaibigan, ang manu-manong pagtanggal ay ang magagamit na pagpipilian lamang. Gayunpaman, sa artikulong ito, malalaman mo kung paano mabilis na matanggal ang mga kumpidensyal na haligi o mga hindi ginustong mga haligi mula sa maraming mga workbook.
Download na Ngayon
Kung gusto mong simulan ang paggamit ng software sa lalong madaling panahon, maaari mong:
I-download ang Software Ngayon
Kung hindi man, kung nais mong DIY, maaari mong basahin ang mga nilalaman sa ibaba.
Ihanda na natin ang GUI
Tulad ng ipinakita sa imahe, palitan ang pangalan ng Sheet 1 bilang "ControlPanel". Gamit ang mga hugis, magdaragdag kami ng Mga Pindutan sa sheet na ito upang maipakita ito bilang GUI (Graphical User Interface) para sa tool na ito. Kailangan namin ng tatlong mga patlang sa GUI na ito. Ang Field1 ay upang ipakita ang workbook na napili ng gumagamit. Ang Patlang 2 ay upang ipakita ang mga haligi mula sa napiling workbook bilang drop down. Ang Patlang 3 ay isang listahan ng mga haligi na dapat alisin mula sa workbook.
Paano ito gumagana?

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
Sabunutan ito
Tulad ng ngayon, ang script na ito ay humahawak lamang ng isang workbook. Ngunit gamit ang huling ginamit na pamamaraan ng hilera, maaari mong gawin ang macro na hawakan ang maraming mga workbook sa isang mode ng batch. Gayunpaman, hindi mabubuksan ang script a sira ang Excel workbook.
Panimula ng May-akda:
Si Nick Vipond ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang pagbawi ng salita at pananaw sa mga produkto ng software sa pagbawi. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa.