【发布时间】:2020-04-01 00:24:45
【问题描述】:
在我的excel表格中,单元格A1的值为1000,而单元格B1的值为10000。
我正在尝试查找列号。包含“1000”的单元格。
列号我想要的输出是 1(即单元格 A1),但我得到的输出为 2,代码如下(指单元格 B1 中的值 10000)。另一方面,在单元格 B1 中,如果我将 10000 替换为 10100,则会得到以下代码的输出为 1。
我可以知道我需要对代码进行哪些更改才能获得所需的输出吗?
*
Sub Find_Number()
Dim Find As Range
Set Find = Range(Cells(1, 1), Cells(1, 5)).Find("1000")
Debug.Print Find.Column
End Sub
*
【问题讨论】:
-
指定
Range.Find的其他参数:After、LookIn、LookAt等。之后应该是最后一个单元格。 -
如果你想准确找到 1000,那么
Application.Match是另一种选择。 -
LookIn:= xlWhole。我会将Find重命名为Found以避免使用关键字作为变量。还可以使这些陈述直观:If Not Found is Nothing Then Debug.Print Found.Column -
谢谢@BigBen
-
感谢@urdearboy 的宝贵帮助和建议。总结是我必须使用 LookAt:=xlWhole 如果我使用 Range.Find 或者更好地使用 Application.Match