Cum să ștergeți coloanele în lot în mai multe registre Excel

Este foarte frecvent să vezi oameni care salvează date confidențiale în registrele de lucru Excel. Când aceste registre de lucru trebuie partajate cu alți colegi sau prieteni, ștergerea manuală este singura opțiune disponibilă. Cu toate acestea, cu acest articol, veți învăța cum să ștergeți rapid coloanele confidențiale sau coloanele nedorite din mai multe registre de lucru.

Descarcă acum

Dacă vrei să starPentru a utiliza software-ul cât mai curând posibil, atunci puteți:

Descărcați software-ul acum

În rest, dacă vrei să faci DIY, poți citi conținutul de mai jos.

Să pregătim GUI

După cum se arată în imagine, redenumiți foaia 1 ca „ControlPanel”. Folosind forme, am adăuga butoane pe această foaie pentru a o face să apară ca GUI (Graphical User Interface) pentru acest instrument. Avem nevoie de trei câmpuri pe această GUI. Câmpul 1 este pentru a afișa registrul de lucru selectat de utilizator. Câmpul 2 este pentru a afișa coloanele din registrul de lucru selectat ca meniu vertical. Câmpul 3 este o listă de coloane care ar trebui eliminate din registrul de lucru.

Cum functioneaza?

Cod VBAProcedura p_fpick ar permite utilizatorului să răsfoiască și să selecteze fișiere Excel. De îndată ce este selectat un fișier Excel, scriptul va citi numele coloanelor din Sheet1 și aceste nume sunt afișate ca drop-down. Procedura „Add_Column” va permite utilizatorului să adauge numele coloanei selectate din meniul drop-down pentru a adăuga la lista de coloane care trebuie șterse. Procedura finală „Delete_Columns” ar deschide registrul de lucru care a fost listat sub câmpul „Selectează registrul de lucru” și ar elimina toate coloanele selectate. După ștergere, registrul de lucru va fi salvat și închis.

Sub P_fpick() Dim v_fd As Office.FileDialog Set v_fd = Application.FileDialog(msoFileDialogFilePicker) With v_fd .AllowMultiSelect = False .Title = "Vă rugăm să selectați registrul de lucru Excel" .Filters.Clear .Filters",.*d 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 = "" Atunci 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 = Adevărat .InCellDropdown = Adevărat .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = Adevărat .ShowError = Adevărat Sfârșit cu End Sub Ad_Column() Q4").Value = "" Then Range ("Q4").Value = Range ("N4").Value Else Range ("Q4").Value = Range ("Q4").Value & "," & Range ("N4").Value End If End 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 Pentru intcount = LBound(v_sheets) To UBound(v_sheets) Pentru c = 1 To lc If wb.Sheets(1).Cells(1, c).Value = v_sheets(intcount ) Apoi wb.Sheets(1).Columns(c).Delete Shift:=xlToLeft End If Next c Next intcount wb.Close True ab.Activate End Sub

Ajustați-l

Începând de acum, acest script se ocupă de un singur registru de lucru. Dar folosind ultima metodă de rând folosită, puteți face ca macro-ul să gestioneze mai multe registre de lucru într-un mod batch. Cu toate acestea, scriptul nu poate deschide a Excel corupt registrul de lucru.

Introducerea autorului:

Nick Vipond este un expert în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv recuperarea cuvintelor și produse software de recuperare Outlook. Pentru mai multe informații vizitați www.datanumen.com.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *