【发布时间】:2018-07-15 08:51:57
【问题描述】:
我根本没有 VBA 编码经验,我有一个看似简单的问题。我想创建一个单击按钮宏,它将查找并选择每个包含欧元符号 € 的货币格式单元格或在特定列中总和大于 0 的每个货币格式单元格。目前这段代码:
Cells.Find(What:="€", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
接近我想要实现的目标(找到€符号),但它不适用于货币格式的单元格,默认情况下会自动将欧元符号添加到总和中......并且未定义到特定列。 例如,如果在我的工作表中只有一些货币格式的单元格有一个 € 符号(我正在寻找),那么宏会给我一个运行时错误 91..使用本机 excel 搜索功能,完全相同的搜索参数可以正常工作。
见附图 请帮助它对我的项目有很大帮助=)
这不起作用: https://i.stack.imgur.com/UQqJp.jpg
这会完全按照我的宏所希望的那样找到欧元符号。 https://i.stack.imgur.com/fM1lY.jpg
【问题讨论】:
-
这个
LookAt:=xlWhole应该是LookAt:=xlPart! -
您的“本机 Excel 搜索参数”不完全相同。特别是,本机参数是 NOT
lookat:=xlWhole和 NOTlookin:=xlValues。而该对话框是lookat:=xlPart和lookin:=xlValues。改变你的宏,你应该没问题。 -
shrivallabha.redij 我忘了提到我尝试使用 LookAt:=xlPart 但仍然得到相同的运行时错误 91
-
Ron Rosenfeld 我做了更改,但仍然无法正常工作:(。请看我重新上传的图片