Gro*_*rMD 5 excel vba excel-vba
我试图返回某个范围的列数,有时我需要一个范围,但是有时我需要多个范围。
我设置了可选范围,因此可以选择多个范围。如果引用函数原型中未在电子表格中提供的范围,则会得到#Value!错误。
我需要一种方法来检查可选范围是否为null,void empty等。因此,我不必引用该范围。
这是VBA函数原型:
Function GetColoumnCount(ARange1 As Range, Optional ARange2 As Range, Optional ARange3 As Range, Optional ARange4 As Range) As Integer
Dim Result As Integer
Result = 0
Result = ARange1.Columns.Count ' This works
Result = ARange1.Columns.Count + ARange2.Columns.Count ' This doesn't work
GetColoumnCount = Result
End Function
Run Code Online (Sandbox Code Playgroud)
在我的电子表格中,我必须在一个单元格中输入此内容才能使该功能起作用。
=GetColoumnCount(BC34:BK34, BC35:BD35, BE35:BF35, BG35:BH35)
这违反了具有可选参数的目的。
像这样尝试一下
Function GetColoumnCount(ARange1 As Range, Optional ARange2 As Range, Optional ARange3 As Range, Optional ARange4 As Range) As Long
Dim Result As Long
Result = 0
Result = ARange1.Columns.Count ' This works
If Not ARange2 Is Nothing Then
Result = Result + ARange2.Columns.Count
End If
GetColoumnCount = Result
End Function
Run Code Online (Sandbox Code Playgroud)