搜索打开的工作表并通过userform将结果打印到新工作表所需的VBA Excel代码

时间:2013-12-09 19:55:36

标签: search excel-vba userform vba excel

我是VBA的新手,但我渴望学习!我不知疲倦地寻找这个问题的答案,但收效甚微。

目前,我已经创建了一个命令按钮来播放具有多个大型数据库搜索条件的用户表单。 userform搜索打开的工作表,并根据用户输入的信息(名称,类型,电子邮件,来源,捐赠者信息,最后联系人等)填充其余字段。这基本上是一个用户友好的高级查找。

我需要能够搜索任何条件,通常会生成多个结果,并将这些多个结果打印/粘贴到新工作表中。理想情况下,我想包含一个命令按钮,用于搜索和查看结果"当前的用户形式,因为我正在为一些技术不友好的人创建这个。

如果你们中的任何人有一个我可以输入到新命令按钮的代码,我将放在当前的用户窗体上完成这项任务我会非常感激!

如果您有其他建议,我也完全接受这些建议。我甚至考虑在打开的工作簿上有一个查找按钮和一个搜索和查看结果的按钮,但我仍然需要所有搜索条件。

提前多多谢谢!

目前,我在userform中有这个代码:

 Private Sub CommandButton1_Click()
 row_number = 0
 Do
 DoEvents
 row_number = row_number + 1
 item_in_review = Sheets("ULEC-Master-Consolidated.csv").Range("F" & row_number)
If item_in_review = TextBox1.Text Then
    TextBox2.Text = Sheets("ULEC-Master-Consolidated.csv").Range("H" & row_number)
    TextBox3.Text = Sheets("ULEC-Master-Consolidated.csv").Range("J" & row_number)
    TextBox4.Text = Sheets("ULEC-Master-Consolidated.csv").Range("N" & row_number)
    TextBox5.Text = Sheets("ULEC-Master-Consolidated.csv").Range("P" & row_number)
    TextBox6.Text = Sheets("ULEC-Master-Consolidated.csv").Range("Q" & row_number)
    TextBox7.Text = Sheets("ULEC-Master-Consolidated.csv").Range("R" & row_number)
    TextBox8.Text = Sheets("ULEC-Master-Consolidated.csv").Range("S" & row_number)
    ComboBox1.Text = Sheets("ULEC-Master-Consolidated.csv").Range("A" & row_number)
    ComboBox2.Text = Sheets("ULEC-Master-Consolidated.csv").Range("B" & row_number)
    ComboBox3.Text = Sheets("ULEC-Master-Consolidated.csv").Range("C" & row_number)
    TextBox9.Text = Sheets("ULEC-Master-Consolidated.csv").Range("D" & row_number)
    TextBox10.Text = Sheets("ULEC-Master-Consolidated.csv").Range("Y" & row_number)
    TextBox11.Text = Sheets("ULEC-Master-Consolidated.csv").Range("T" & row_number)
    TextBox12.Text = Sheets("ULEC-Master-Consolidated.csv").Range("U" & row_number)
    TextBox13.Text = Sheets("ULEC-Master-Consolidated.csv").Range("V" & row_number)
    TextBox14.Text = Sheets("ULEC-Master-Consolidated.csv").Range("W" & row_number)
    TextBox15.Text = Sheets("ULEC-Master-Consolidated.csv").Range("X" & row_number)
    End If

 Loop Until item_in_review = ""

 End Sub

*我为每个包含的文本框和组合框重复此代码。另外,我有一个清晰的形式"按钮。

1 个答案:

答案 0 :(得分:0)

对于您想要构建的搜索功能,您可以利用我在Ozgrid上找到的搜索功能,并在我自己的编码中每天使用。我已经标记了帖子的第2页,因为该功能是从原始帖子更新的。希望这会有所帮助:

http://www.ozgrid.com/forum/showthread.php?t=27240&page=2