Sub Noisuy2chieu1()
Dim SoX, SoY As Single
Dim i, j As Integer
Worksheets("bangtra").Select
Range("A2:H15").Select ' Có thể tùy biến bằng cách dùng InputBox
Set X = Selection
cao = X.Rows.Count 'Xác định số hàng
Rong = X.Columns.Count 'Xác định số cột
SoX = Sheets("nhapso").Range("A2").Value
SoY = Sheets("nhapso").Range("B2").Value
Dim A1, A2, B1, B2, Y1, Y2, Tim As Single 'Các điểm chặn xung quanh điểm tính nội suy
For i = 2 To cao + 1
If Selection(i, 1) > SoX Then
n = i
For j = 2 To Rong + 1
If X(1, j) > SoY Then
m = j
B1 = X(n - 1, m)
B2 = X(n, m)
A1 = X(n - 1, m - 1)
A2 = X(n, m - 1)
Y1 = (SoY - X(1, m - 1)) * (B1 - A1) / (X(1, m) - X(1, m - 1)) + A1
Y2 = (SoY - X(1, m - 1)) * (B2 - A2) / (X(1, m) - X(1, m - 1)) + A2
Tim = (SoX - X(n - 1, 1)) * (Y2 - Y1) / (X(n, 1) - X(n - 1, 1)) + Y1
Exit For
End If
Next j
Exit For
End If
Next i
Sheets("ketqua").Select
Range("B2").Value = Tim
End Sub