我真的是 VBA 的新手,所以我的专业知识很少。我有三列A,B,C
我的目标:
是遍历整个列 C 并查找特定字符串。
如果它相等,那么我想取一个相应的行,包括(列A,B)并将其逐行存储在(Sheet2)中:
这是我正在尝试的,请帮助。
Sub FindString()
Dim cell As Range
Dim DataCount As Integer
With Worksheets("Sheet1")
DataCount = Range("L" & Rows.Count).End(xlUp).Row
For Each cell In Range("C1:C" & DataCount)
If InStr(cell.Value, "cmt") > 0 Then
MsgBox "The String is Found"
End If
Next cell
End With
End Sub
最佳答案
缺少一些信息,但这会让您接近。由于您已经知道何时找到该字符串,因此它将复制整行并将其粘贴到 Sheet2 中。 i
添加以帮助遍历找到的行,因此它们不会相互粘贴,但可以更改。
Sub FindString()
Dim cell As Range
Dim DataCount As Integer
Dim i As Integer
i = 1
With Worksheets("Sheet1")
'Changed to column C instead
DataCount = Range("C" & Rows.Count).End(xlUp).Row
For Each cell In Range("C1:C" & DataCount)
If InStr(cell.Value, "cmt") > 0 Then
MsgBox "The String is Found"
Rows(cell.Row).Copy Sheets("Sheet2").Cells(i, 1)
i = i + 1
End If
Next cell
End With
End Sub
关于Excel宏查找文本并将结果存储在新工作表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57563161/