VBA循环列

时间:2017-05-19 15:04:16

标签: vba excel-vba loops for-loop excel

我正在尝试编写一个宏,用#" 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")。

1 个答案:

答案 0 :(得分:2)

你可以这样做,虽然查找效率更高

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