用Excel中的VBA编写函数,函数参数如何引用Excel中的单元格?能给个具体的例子吗?

举个简单的例子:
Function XXX(ST As String) As String
XXX = Activesheet.Range(ST)
End Function

后在Excel中引用"=XXX(A3)",结果显示“#value!"
请教高手啊!

你要想简便的话,简单的点点,不想用手输入那么麻烦,可以这样:
Function XXX(ST As Range) As String
XXX = ST.Text
End Function
这样便可在Excel中引用"=XXX(A3)"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-21
你的函数声明的变量类型与调用的不符,声明时你用的是ST As String,那么在调用的时候就同样需要使用字符型,也就是XXX("A3")
第2个回答  2011-07-21
就你的代码而言,没有意义,你直接=就行了。
就引用而言,应让函数自动去判断被你引用的单元格数据类型,保持原数据类型。那么代码如下
Function XXX(ST As Range)
XXX = ST.Value
End Function