VBA循环删除多列

我想search/遍历位于打开的文件第1行的所有列标题,并删除它,如果它匹配dColumns,这是我不需要的列的列表,我把一个范围内。

Sub LLextract() 'Last cell in column Dim WS As Worksheet Dim LastCell As Range Dim LastCellRowNumber As Long Set WS = ThisWorkbook.Worksheets("Consolidated Data") With WS Set LastCell = .Cells(.Rows.Count, "A").End(xlUp) LastCellRowNumber = LastCell.Row + 0 End With Dim wb As Workbook, wb2 As Workbook Dim vFile As Variant 'Set source workbook Set wb = ActiveWorkbook 'Open the target workbook vFile = Application.GetOpenFilename("CSV Files (*.csv), *.csv", , _ "Select a CSV file", , False) 'if the user didn't select a file, exit sub If TypeName(vFile) = "Boolean" Then Exit Sub Workbooks.Open vFile 'Set selectedworkbook Set wb2 = ActiveWorkbook Dim dColumns As Range Set dColumns = wb.Worksheets("LL Columns to Delete").Range("A:A") Dim i As Integer Dim A As Range For i = 94 To 1 Step -1 Set A = wb2.Cells(1, i) If wb2.Cells(1, i) = dColumns Then A.EntireColumn.Delete Next i 'wb2.Worksheets(1).Range("A1").Select End Sub 

你不能只做Range("A") ,用Range("A:A")代替。

(但你想用dColumnsdColumns ?)

当我打开wb2时,我通过删除列来解决这个问题。 这个问题不再需要回答或解决。