Public Function NSHaiC(ra As Range, ro_lo As Double, co_lo As Double)
Dim iro As Integer, ico As Integer
Dim i As Integer, j As Integer
Dim d01 As Double, d02 As Double
Dim d10 As Double, d20 As Double
Dim d11 As Double, d12 As Double
Dim d21 As Double, d22 As Double
Dim d3 As Double, d4 As Double
Dim d As Variant
Dim ar() As Double
iro = ra.Rows.Count
ico = ra.clumns.Count
ReDim ar(1 To iro, 1 To ico) As Double
For i = 1 To iro
For j = 1 To ico
ar(i, j) = ra.Cells(i, j).Value
Next
Next
If ro_lo < ar(2, 1) Or ro_lo > ar(iro, 1) Or co_lo < ar(1, 2) Or co_lo > ar(1, ico) Then
d = "Loi"
Else
For i = 2 To iro - 1
d10 = ar(i, 1)
d20 = ar(i + 1, 1)
If ro_lo >= d10 And ro_lo <= d20 Then
Exit For
End If
Next
For j = 2 To ico - 1
d01 = ar(1, j)
d02 = ar(1, j + 1)
If co_lo >= d01 And co_lo <= d02 Then
Exit For
End If
Next
d11 = ar(i, j)
d12 = ar(i, j + 1)
d21 = ar(i + 1, j)
d22 = ar(i + 1, j + 1)
d3 = d11 + (d12 - d11) / (d02 - d01) (co_lo - d01)
d4 = d21 + (d22 - d21) / (d02 - d01) (co_lo - d01)
d = d3 + (d4 - d3) / (d20 - d10) * (ro_lo - d10)
End If
NSHaiC = d
End Function
đây là hàm nội suy 2 chiều m làm sao cứ bị lỗi value