用于货币格式单元格的VBA Excel查找函数
我根本没有VBA编码的经验,我有一个看似简单的问题。我想创建一个click button宏,该宏将查找并选择每个包含欧元符号欧元的货币格式单元格,或在特定列中总和大于0的货币格式单元格。目前,该代码:用于货币格式单元格的VBA Excel查找函数,vba,excel,Vba,Excel,我根本没有VBA编码的经验,我有一个看似简单的问题。我想创建一个click button宏,该宏将查找并选择每个包含欧元符号欧元的货币格式单元格,或在特定列中总和大于0的货币格式单元格。目前,该代码: Cells.Find(What:="€", After:=ActiveCell, LookIn:=xlValues, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=Fal
Cells.Find(What:="€", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
接近我想要实现的目标(查找欧元符号),但它不适用于货币格式的单元格,默认情况下,这些单元格会自动将欧元符号添加到总和中。并且未定义到特定列。
例如,如果在我的工作表中,只有一些货币格式的单元格有一个欧元符号(我正在查找),则宏会给我一个运行时错误91..使用本机excel搜索功能,完全相同的搜索参数可以正常工作
见所附图片
请帮忙,这将对我的项目有很大帮助=)
这不起作用:
这会找到欧元符号,就像我希望宏所做的那样。
测试以下各项-
Sub test()
Dim rng As Range
Set rng = Cells.Find(What:="€", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not rng Is Nothing Then
rng.Activate
End If
End Sub
你需要的一部分。此例行程序将
选择包含欧元符号的所有单元格。它将处理以格式显示的欧元以及单元格文本中包含的欧元。
Sub test()
Dim rng As Range, r As Range, rFound As Range
Set rFound = Nothing
For Each r In ActiveSheet.UsedRange
If InStr(1, r.Text, "€") > 0 Then
If rFound Is Nothing Then
Set rFound = r
Else
Set rFound = Union(rFound, r)
End If
End If
Next r
If Not rFound Is Nothing Then rFound.Select
End Sub
这个LookAt:=xlother
应该是LookAt:=xlPart
!您的“本机Excel搜索参数”不完全相同。特别是,本机参数不是lookat:=xlother
,也不是lookin:=xlValues
。相反,该对话框是lookat:=xlPart
和lookin:=xlValues
。更改宏应该可以。shrivallabha.redij我忘了提到我尝试使用LookAt:=xlPart,但仍然得到相同的运行时错误91Ron Rosenfeld我进行了更改,但仍然不起作用:(.请看我为查找零件而绘制的图片,请看:=xlPartGary的学生和Dy.Lee感谢您的回答,但不幸的是,它仍然没有在货币格式单元格中找到欧元符号…仅在一般格式上:(.我也尝试过LookAt:=xlPartGary的学生比你更愿意花时间来帮助我。你的代码选择了我工作表中所有带有欧元符号的单元格,并激活了第一个找到的单元格。当我将“ActiveSheet.UsedRange”改为我想要的范围ActiveSheet.range(“H2:H200”)它选择我定义范围内的所有欧元符号并激活找到的第一个单元格。到目前为止还不错,但如何使它在每次使用宏时都能在我的预输入范围内找到并激活下一个欧元符号?