繁体   English   中英

VBA循环删除多列

[英]VBA Loop to Delete Multiple Columns

我想搜索/循环遍历打开文件的第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")代替。

(但是您想对dColumns什么?)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM