EXCEL VBA,为什么函数子过程中不能使用find方法。

PublicFunctionMDD(DHAsString)MDD=Sheet1.Cells(Sheet1.Range("a:a").Find(what:=DH).Row,... Public Function MDD(DH As String)
MDD = Sheet1.Cells(Sheet1.Range("a:a").Find(what:=DH).Row, 6)
End Function
其中Sheet1.Range("a:a").Find(what:=DH)怎样都查找不到,值都是nothing。
请教高手解决,谢谢。
如图:搜索的区域a列为公式生成。
哎呀,我自己解决了,FIND方法中有一个搜索选项lookin,参数设为xlValues就好了。
展开
 我来答
冉曦柠颜99
2013-07-15 · 超过16用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:47.4万
展开全部

可以查到啊?

可能你的用法错了!

Public Function MDD(DH As String)

MDD = Sheet1.Cells(Sheet1.Range("a:a").Find(what:=DH).Row, 6)


End Function


Sub A()

MsgBox MDD("PP")

End Sub


更多追问追答
追问
如果您类别的字符是用公式生成出来的呢?
比如TEXT(C13,"yymm")
C13是当前时间
追答
=MDD(TEXT(A13,1))这样呢?
嗯那就好
2013-07-15 · TA获得超过552个赞
知道小有建树答主
回答量:510
采纳率:81%
帮助的人:274万
展开全部
如果是MDD为nothing,那就是你的Sheet1表中第6列没有值;

如果是Find为nothing,那就是你的Sheet1表中A列不存在DH所指定的字符串;
  否则就是不存在名为Sheet1的表
追问
sheet1肯定存在,DH更是肯定存在。
追答
那就只能是你在传入的DH的类型和表格里实际的值的类型不匹配了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JasonGG_81
2013-07-15 · TA获得超过151个赞
知道答主
回答量:225
采纳率:100%
帮助的人:97.3万
展开全部
excel中的函数和VBA中并不是完全对应的,试试InStr
追问
咱们说的完全不是一个问题。不过还是谢谢你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式