【问题标题】: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