0

我得到了以下简单的功能:

Public Function AddFields(field1 As Range, field2 As Range) As String
    AddFields = "=" + field1.Address + "+" + field2.Address
End Function


Private Function GetCustomerCount(monthNumber As Integer) As Range
    If monthNumber < 6 Then
        GetCustomerCount = Range("D13")
    ElseIf monthNumber < 12 Then
        GetCustomerCount = Range("D14")
    Else
        GetCustomerCount = Range("D15")
    End If
End Function

我从以下子中调用:

Private Sub mDateLooper_OnMonth(looper As DateLooper)
    Cells(looper.Row, looper.Column).Value = "Månad " & CStr(looper.MonthIndex + 1)
    Cells(looper.Row + 1, looper.Column).Value = AddFields(GetCustomerCount(looper.MonthIndex + 1), Range("m21"))
    Cells(looper.Row + 2, looper.Column).Value = AddFields(Cells(looper.Row + 1, looper.Column - 1), Cells(looper.Row, looper.Column))
End Sub

它不起作用。我收到以下错误:对象变量或未设置块。

GetCustomerCount = Range("D13")上。

为什么?

4

2 回答 2

2

GetCustomerCount 是一个Range

如果你想给它分配一个新的值/范围,你需要用 set 来做。

    Set GetCustomerCount = Range("D13")
于 2010-07-21T14:02:50.850 回答
0

我相信您需要确定 Range 适用于哪个工作表,即 ActiveSheet.Range("D13")

于 2010-07-21T12:30:41.850 回答