Excel宏查找文本并将结果存储在新工作表中
我是VBA新手,所以我的专业知识很少。我有三列A、B、C 我的目标是: 就是循环遍历整个列并查找特定的字符串。 如果它相等,那么我想获取相应的行,包括(列a、B)并将其逐行存储在(表2)中: 这是我正在做的实验,请帮忙Excel宏查找文本并将结果存储在新工作表中,excel,vba,Excel,Vba,我是VBA新手,所以我的专业知识很少。我有三列A、B、C 我的目标是: 就是循环遍历整个列并查找特定的字符串。 如果它相等,那么我想获取相应的行,包括(列a、B)并将其逐行存储在(表2)中: 这是我正在做的实验,请帮忙 Sub FindString() Dim cell As Range Dim DataCount As Integer With Worksheets("Sheet1") DataCount = Range("L" & Rows.
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中<添加code>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
这几乎完成了它发现第一个相等并退出循环的技巧,我如何使它通过所有列C。现在DataCount变量正在计算列L中的行,将其更改为C,它应该完成。我可以选择特定列,例如仅[A&&B]如果找到字符串并通过它进入Sheet2是的,您可以改为使用“范围(单元格)”(cell.Row,1),Cells(cell.Row,2)).Copy“它应该只从该行复制A:B。我没有在这种情况下尝试过,但我相信您可以使用“Union(”来代替