«H5: H5000» генерирует ошибку несоответствия типов в функции, которая ожидает диапазон - PullRequest
0 голосов
/ 11 марта 2011

У меня есть лист с конкретными датами и долларовой стоимостью в каждой позиции.

Я хочу посчитать строки в каждом месяце и для каждого месяца создать сумму в долларах.

Я нашел функцию и изменил ее:

Public Function MonthOppCount(rng As Range, sdate As Date, edate As Date) As Long

    Dim Cel As Range
    Dim MonthCount As Integer
    Dim MonthRev As Long

    For Each Cel In rng
        If Cel >= sdate And Cel < edate Then
            ' MonthCount = MonthCount + 1
            MonthRev = MonthRev + ActiveCell.Offset(0, -3).Value
        End If
    Loop

    MonthOppCount = MonthRev
    ActiveCell.Offset(0, 1).Value = MonthCount

End Function 

Затем я вызываю функцию из другой подпрограммы:

Range("P5000").Value = MonthOppCount("H5:H5000", Month1, Month2)

Я получаю ошибку несоответствия типов при выделении H5: H5000.

1 Ответ

3 голосов
/ 11 марта 2011

«H5: H5000» - это просто строка; VBA не конвертирует его автоматически в диапазон. Измените строку, которая вызывает вашу функцию:

Range("P5000").Value = MonthOppCount("H5:H5000", Month1, Month2)

до:

Range("P5000").Value = MonthOppCount(Range("H5:H5000"), Month1, Month2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...