Таким образом, у меня есть строка VBA в таблице Excel, которая выдает мне ошибку Несоответствие типов
Dim INST As Worksheet
Set INST = Sheets("Instructions")
Dim ST1 As Worksheet
Set ST1 = Sheets("DataU1")
'C12 = 99.8
' The ST1 range are column of numbers that look like 99.8053741455, 99.8193664551, 100.000717163, etc. These numbers are in numerical order
Dataedge = Application.Match(INST.Range("C12"), ST1.Range("B:B"), 1)
Приведенный выше код дает мне ошибку несоответствия типов, и хотя существует больше кода, чем просто этот не должен влиять на эту строку кода.
Когда я сделал свой собственный лист с разными номерами, он работает.
Sub Button1_Click()
Dim INST As Worksheet
Set INST = Sheets("Sheet1")
Dim ST1 As Worksheet
Set ST1 = Sheets("Sheet2")
'C12 = 38.2
'Numbers in the range are 31.5, 32.5, 34.1, 36.9, 37.23, 38.51, 39.1
Dataedge = Application.Match(Val(INST.Range("C12")), ST1.Range("B:B"), 1)
If IsNumeric(Dataedge) = True Then
MsgBox (Dataedge)
'MsgBox Returns 5
Else
MsgBox ("NA")
End If
End Sub
``
The above code gives back 5 as it should. Does anyone know what the problem could be?