Я есть лист данных, который содержит год в колонке, месяц в колонке B, день в колонке C и общее количество в гя получаю Тип Несовпадение ошибки
Я пытаюсь создать функцию, которая суммирует месяц сегодня статистика из d столбца
Function countMessagesbyDate(xYear As Integer, xMonth As Integer, xDay As Integer) As Integer
Dim wsData As Worksheet
Dim LastRow As Long
Dim tMessages As Integer
Dim rowYear As Range
Dim rowMonth As Range
Dim rowDay As Range
Dim rowMessages As Range
Dim rCell As Range
Dim i As Integer
Application.ScreenUpdating = False
Set wsJData = ThisWorkbook.Sheets("daily_report")
Set rowYear = wsData.Range("A1").End(xlDown).Row
Set rowMonth = wsData.Range("B1").End(xlDown).Row
Set rowDay = wsData.Range("C1").End(xlDown).Rows
Set rowMessages = wsData.Range("D1:").End(xlDown).Rows
tMessages = 0
i = 0
For Each rCell In rowYear
i = i + 1
If rCell.Value = xYear And rowMonth.Offset(i) = xMonth And rowDay.Offset(i) < Day(Today) Then
tMessages = tMessages + rowMessages.Offset(i).Value
End If
Next rCell
countMessagesbyDate = tMessages
End Function
Я получаю тип missmatch при попытке установить диапазоны. Не могли бы вы помочь?
Заранее спасибо
Сообщите об ошибке –
Если вы используете xlDown, я думаю, вы получите много строк. Должно ли быть xlRight? Или лучше что-нибудь вроде wsData.Rows (1)? –
какой линия пожалуйста? Поместите «Option Explicit» в верхней части модуля. Помогает. –