【问题标题】:VBA Loop Through ColumnsVBA 循环遍历列
【发布时间】:2017-10-19 18:44:26
【问题描述】:

我正在尝试编写一个宏,它将选择第一行中带有“Est #”的列并将整列粘贴到新列中。

我知道如何遍历行:

Sub test()
Dim i As Integer
For i = 1 To 100
    If Range("C" & i) = "All values USD Millions." Then
        Range("C" & i & ":H" & i).Delete
    Else
        Range("A3").Select
    End If
Next
End Sub

问题是列有字母,而不是数字,所以我不确定如何循环遍历前 30 列并将第一行中带有“Est #”的列粘贴到 Range(“CA:CA”) 中。

【问题讨论】:

    标签: vba excel loops for-loop


    【解决方案1】:

    你可以这样做,虽然 Find 更有效

    Sub test()
    
    Dim c As Long
    
    For c = 1 To 30
        If Cells(1, c).Value = "Est #" Then
            Cells(1, c).EntireColumn.Copy Cells(1, "CA")
        End If
    Next
    
    End Sub
    

    这里是 Find 方法

    Sub test()
    
    Dim rFind As Range
    
    Set rFind = Range("A1").Resize(, 30).Find(What:="Est #", Lookat:=xlWhole, MatchCase:=False, SearchFormat:=False)
    
    If Not rFind Is Nothing Then
        rFind.EntireColumn.Copy Cells(1, "CA")
    End If
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-26
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 2016-07-16
      • 2022-01-22
      • 1970-01-01
      相关资源
      最近更新 更多