0
Я хотел бы подсчитать конкретные числа из массива, определенного внутри функции, из диапазона ячеек. Вот мой код:Vba Excel Тип несоответствия
Function countNumbers(cell As Range)
Dim rCell As Range
Dim myArray(25) As Integer
myArray(0) = 1
myArray(1) = 2
myArray(2) = 3
myArray(3) = 4
myArray(4) = 5
myArray(5) = 11
myArray(6) = 12
myArray(7) = 13
myArray(8) = 14
myArray(9) = 15
myArray(10) = 21
myArray(11) = 22
myArray(12) = 23
myArray(13) = 24
myArray(14) = 25
myArray(15) = 31
myArray(16) = 32
myArray(17) = 33
myArray(18) = 34
myArray(19) = 35
myArray(20) = 41
myArray(21) = 42
myArray(22) = 43
myArray(23) = 44
myArray(24) = 45
For Each rCell In cell.Cells
For i = LBound(myArray) To UBound(myArray)
If rCell.Value = myArray Then
countNumbers = countNumbers + 1
End If
Next i
Next rCell
End Function
Ошибка, которую я получаю, это «Тип несоответствия» в первой строке кода. Я использую MS-Excel 2007. Благодаря
внутри цикла, измените строку 'Если rCell.Value = туАггау затем' к' If rCell.Value = MyArray (I) затем' как вы пытаетесь проверить критерии каждой ячейки внутри массива –
Также измените свой 'Dim myArray (25) As Integer' на' Dim myArray (24) As Integer', иначе последний элемент будет пустым, и все пустые ячейки войдут внутрь вашего ' Если'. –
@ShaiRado вы можете добавить свои исправления в качестве ответа, чтобы принять его, пожалуйста! – KostasC