#excel #vba #variant
#excel #vba #вариант
Вопрос:
Public Sub MMULT()
Dim temp As Variant
Dim total As Double
Dim a, b As Range
Dim i As Integer
total = 0.45
For i = 1 To 9
Set a = Range(Cells(i 15, 3), Cells(i 15, 11))
Set b = Range(Cells(16, 14), Cells(24, 14))
temp = Application.WorksheetFunction.MMULT(a, b)
total = total temp
Next i
Range("M9").Select
Range("M9").Value = total
End Sub
Привет, кто-нибудь может помочь мне преодолеть ошибку? я получил окно сообщения «Несоответствие типов» в строке 14, содержащее код: total = total temp. я попробовал несколько изменений, таких как преобразование всех типов данных переменных в variant, но он по-прежнему выдает ту же ошибку. Спасибо
Комментарии:
1. Почему вы используете a
Variant
? Вам нужно будет проверить вариант, чтобы увидеть, является ли он числовым, прежде чем пытаться выполнить с ним математические вычисления … learn.microsoft.com/en-us/office/vba/language/reference /…
Ответ №1:
MMULT возвращает массив (даже если возвращается только одно значение) — вы не можете добавить Double и массив.
total = total temp(1)