0

我正在使用的宏会打开一个输入框,您可以在其中输入要搜索的内容,当它找到值时,它会突出显示整行。唯一的问题是它搜索整个工作表而不仅仅是一列。我希望它只在 B 列中搜索,否则搜索是没有意义的,因为它会选择在其他列中匹配的值。

这是我正在使用的代码。

Sub Seroquel_25000_1mod1()
Dim SrchRng3 As Range

Dim c3 As Range, f As String

Set SrchRng3 = ActiveSheet.Range("B8", ActiveSheet.Range("B65536").End(xlUp))
AGAIN:
srchItem = InputBox("Please Enter the product CODE", "Product Search")
Set c3 = SrchRng3.Find(srchItem, LookIn:=xlValues)
If Not c3 Is Nothing Then
f = c3.Address
With Range("B" & c3.Row & ":M" & c3.Row)
.Select
End With
End If
End Sub
4

1 回答 1

0

因为您使用的是表,所以您需要使用表名和字段名来指定搜索范围:

Set SrchRng3 = ActiveSheet.Range("tablename[fieldname]")

如果您不知道表格名称,找到它的一种方法是单击表格中的任何单元格,然后查看“设计”选项卡。字段名称是表格中该列上方的标题单元格的文本。是有关如何在 VBA 中引用表和表数据的不错参考。

于 2013-11-08T19:59:22.673 回答