For Each c In Worksheets("Sheet1").Columns(1)
If c.Value = "StringIWant" Then
嗨,我是vba的新手,这部分代码给了我一个错误,我只想浏览第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