我正在尝试创建一个弹出框来搜索第二列上的某个值,因为我仍然是vba编码的新手,我只能通过谷歌搜索做这么多。
我正在尝试做的是(所有这些都是在宏中完成),找到一个特定值,然后当程序找到特定值时,它将复制整个值所在的行并粘贴它进入excel中的新工作表(具有相同的标题)
这是我到目前为止的代码。
Sub macrotest()
x = 2
Do While Cells(x, 1) <> ""
If Cells(x, 2) = "TEST" Then
Worksheets("Sheet1").Rows(x).Copy
Worksheets("Sheet2").Activate
erow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Sheet2").Rows(erow)
End If
Worksheets("Sheet1").Activate
x = x + 1
Loop
End Sub
从上面可以看出,我正在尝试将带圆圈的行复制到新的表格中。
答案 0 :(得分:0)
就像我在上面的评论中提到的那样,您可以使用Autofilter
来执行此操作。与提及HERE的代码不同,您可以使用InputBox
来获取搜索文本
在该链接中strSearch = "Clarke, Matthew"
是硬编码的。现在,您可以使用以下代码获取自己的strSearch
Sub Sample()
Dim strSearch
strSearch = Application.InputBox("Please enter the search string")
If strSearch <> False And Len(Trim(strSearch)) <> 0 Then
Debug.Print strSearch
'
'~~> Rest of the code
'
End If
End Sub