
VBA
VBASub RangeFind()Dim strFind As StringDim rng As RangestrFind = InputBox("请输入要查找的值:")If Not IsEmpty(strFind) ThenSet rng = Range.Find(strFind, After:=rng.Rows.Count, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)If Not rng Is Nothing ThenApplication.Goto rng, TrueElse MsgBox "没有找到匹配单元格!"End IfEnd IfEnd Sub这个改写后的代码逻辑清晰、易于理解和维护。首先,我们定义了两个变量 strFind 和 rng 分别用来存储用户输入的查找值和要搜索的范围。接着,使用 If Not IsEmpty(strFind) 来确保输入值不为空白字符。然后,我们调用 Range.Find() 方法来在指定范围内查找指定值,并设置相关参数如查找方向、匹配选项等。最后,如果找到匹配结果,则使用 Application.Goto 跳转到该匹配单元格上;否则弹出一个提示框告知用户没有找到匹配单元格。上述代码可以实现根据用户输入在excel工作表中查找特定值,并根据结果进行跳转或者提示操作。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号