VBA向下列检查字符串值?

时间:2019-02-10 19:52:31

标签: vba

For Each c In Worksheets("Sheet1").Columns(1)
      If c.Value = "StringIWant" Then

嗨,我是vba的新手,这部分代码给了我一个错误,我只想浏览第1列,如果字符串值匹配,则将其复制并粘贴到它旁边的某个单元格块。任何帮助将不胜感激,谢谢

1 个答案:

答案 0 :(得分:1)

如@BigBen所述,您确实应该限制循环的范围。您是否真的需要遍历任何给定列中存在的所有100万行以上?还是您实际上需要循环到最后使用的行?

这是您最后一行循环的方式。

Option Explicit

Sub Test()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")

Dim c As Range, LR As Long
LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

For Each c In ws.Range("A2:A" & LR)
    If c = "StringIWant" Then
        'Do What?
    End If
Next c

End Sub