Работа с клетками - PullRequest
       24

Работа с клетками

0 голосов
/ 21 июля 2010

Я получил следующие простые функции:

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

Это не работает. Я получаю следующую ошибку: Переменная объекта или блок не установлен.

on GetCustomerCount = Range ("D13") .

Почему?

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

GetCustomerCount - это Range

Если вы хотите присвоить ему новое значение / диапазон, вам нужно сделать это с помощью set.

    Set GetCustomerCount = Range("D13")
0 голосов
/ 21 июля 2010

Полагаю, вам необходимо определить, к какому листу относится диапазон, т. Е. ActiveSheet.Range ("D13")

...