如何在VBA自定义函数中引用单元格
答案:3 悬赏:60 手机版
解决时间 2021-01-26 05:13
- 提问者网友:谁的错
- 2021-01-25 08:21
如何在VBA自定义函数中引用单元格
最佳答案
- 五星知识达人网友:大漠
- 2021-01-25 09:35
如何编写自定义函数
①新插入一个标准模块;
②插入一个空的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相似,私有的只能在当前模块中过程中调用,而且在插入函数中不可见此函数名。
全部回答
- 1楼网友:第幾種人
- 2021-01-25 10:52
随手写了一个,试下行不?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)
- 2楼网友:duile
- 2021-01-25 10:15
Public Function SelectFrom8(All As Range, i As Integer, j As Integer)
SelectFrom8 = All.Cells(i, j).Value
End Function
两个问题:
函数的返回值不要指定As Range
用All.Cells(i,j).Value来返回指定单元格的值
SelectFrom8 = All.Cells(i, j).Value
End Function
两个问题:
函数的返回值不要指定As Range
用All.Cells(i,j).Value来返回指定单元格的值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯