如何在VBA自定义函数中引用单元格
最简单的比如我想模仿Index函数的功能,在选定的区域找到某行某列的元素,该如何写自定义函数??PublicFunctionSelectFrom8(AllAsRange,...
最简单的比如我想模仿Index函数的功能,在选定的区域找到某行某列的元素,该如何写自定义函数??
Public Function SelectFrom8(All As Range,i as Integer, j as Integer) As Range
SelectFrom8 = All.Parent(i,j)
End Function
是这个意思,但是如果我写SelectFrom8(A1:B10,1,1)直接报VALUE错误,具体应该怎么实现??
求教了~~
那个Parent是我打.出来的,如果去了也是一样的错误~ 展开
Public Function SelectFrom8(All As Range,i as Integer, j as Integer) As Range
SelectFrom8 = All.Parent(i,j)
End Function
是这个意思,但是如果我写SelectFrom8(A1:B10,1,1)直接报VALUE错误,具体应该怎么实现??
求教了~~
那个Parent是我打.出来的,如果去了也是一样的错误~ 展开
3个回答
展开全部
随手写了一个,试下行不?
Public Function GetCellRef(ByVal Target As Range, _
ByVal Row As Long, _
ByVal Column As Integer) As Range
On Error Resume Next
If Not (Target Is Nothing) Then
If (Row > 0) And (Column > 0) Then
Set GetCellRef = Target.Cells(Row, Column)
End If
End If
End Function
调用:
Set rngTemp = GetCellRef(ActiveSheet.UsedRange, 1, 1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如何编写自定义函数
①新插入一个标准模块;
②插入一个空的Function过程;
③写入相应的代码。
注意:最后一定要将结果返回给过程名。
扩展:什么是自定义函数
自定义函数就是用户自己编写的函数。在VBA中,自定义函数就是一个Function过程。在vba 系统中,系统也提供了相当多的vba 系统函数,如instr,cstr,val 等系统函数。
语法结构,同Sub类似。
[Public]、[Private]、[Static] Function 函数名([参数])[As数据类型]
[语句块]
[函数名=过程结果]
[Exit Function]
语句块
[函数名=过程结果]
End Function
公有与私有自定义函数的区别:同sub相似,私有的只能在当前模块中过程中调用,而且在插入函数中不可见此函数名。
①新插入一个标准模块;
②插入一个空的Function过程;
③写入相应的代码。
注意:最后一定要将结果返回给过程名。
扩展:什么是自定义函数
自定义函数就是用户自己编写的函数。在VBA中,自定义函数就是一个Function过程。在vba 系统中,系统也提供了相当多的vba 系统函数,如instr,cstr,val 等系统函数。
语法结构,同Sub类似。
[Public]、[Private]、[Static] Function 函数名([参数])[As数据类型]
[语句块]
[函数名=过程结果]
[Exit Function]
语句块
[函数名=过程结果]
End Function
公有与私有自定义函数的区别:同sub相似,私有的只能在当前模块中过程中调用,而且在插入函数中不可见此函数名。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |