Excel弹出应用程序输入框(搜索功能)

时间:2013-10-17 06:23:12

标签: excel excel-vba excel-2010 vba

我正在尝试创建一个弹出框来搜索第二列上的某个值,因为我仍然是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

enter image description here

从上面可以看出,我正在尝试将带圆圈的行复制到新的表格中。

1 个答案:

答案 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