Adalah sangat biasa untuk melihat orang menyimpan data sulit dalam buku kerja Excel. Apabila buku kerja ini mesti dikongsi dengan rakan atau rakan lain, penghapusan manual adalah satu-satunya pilihan yang ada. Walau bagaimanapun, dengan artikel ini, anda akan belajar cara menghapus lajur rahsia atau lajur yang tidak diingini dengan cepat dari pelbagai buku kerja.
Muat Turun Sekarang
Sekiranya anda mahu starUntuk menggunakan perisian secepat mungkin, maka anda dapat:
Jika tidak, jika anda mahu DIY, anda boleh membaca kandungannya di bawah.
Mari Siapkan GUI
Seperti yang ditunjukkan dalam gambar, ganti nama Lembaran 1 sebagai "ControlPanel". Dengan menggunakan bentuk, kami akan menambah Butang pada helaian ini untuk membuatnya muncul sebagai GUI (Antaramuka Pengguna Grafik) untuk alat ini. Kami memerlukan tiga bidang pada GUI ini. Field1 adalah untuk memaparkan buku kerja yang dipilih oleh pengguna. Medan 2 adalah untuk memaparkan lajur dari buku kerja yang dipilih sebagai drop down. Medan 3 adalah senarai lajur yang harus dikeluarkan dari buku kerja.
Bagaimana ia berfungsi?

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
Ketatkannya
Setakat ini, skrip ini hanya mengendalikan satu buku kerja. Tetapi menggunakan kaedah baris terakhir yang digunakan, anda boleh membuat makro mengendalikan beberapa buku kerja dalam mod kumpulan. Namun, skrip tidak dapat membuka a Excel rosak buku kerja.
Pengenalan Pengarang:
Nick Vipond adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk pemulihan kata dan produk perisian pemulihan prospek. Untuk maklumat lebih lanjut, lawati www.datanumen.com.