Nhờ hướng dẫn sử dụng hàm nội suy 2 chiều của anh PMXD. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ptlong04x1

Thành viên tích cực
Tham gia
15/10/08
Bài viết
1,031
Được thích
1,531
Nghề nghiệp
Kỹ sư xây dựng
Miình tìm trên diễn đàn có hàm nội suy 2 chiều của anh PMXD.

PHP:
Function TraBang2Chieu(ByVal Hang, ByVal Cot, VungChon As Range)
Dim i As Long, j As Long
Dim TangAnPha
Dim NoiSuy1 As Double, NoiSuy2 As Double

For i = 1 To UBound(VungChon.Value, 2) ' Theo phuong ngang
If Hang = VungChon(1, i) Then
For j = 1 To UBound(VungChon.Value, 1) - 1
If (Cot - VungChon(j, 1)) * (Cot - VungChon(j + 1, 1)) <= 0 Then
TangAnPha = (VungChon(j + 1, i) - VungChon(j, i)) / (VungChon(j + 1, 1) - VungChon(j, 1))
TraBang2Chieu = VungChon(j, i) + (Cot - VungChon(j, 1)) * TangAnPha
GoTo Thoat:
End If
Next j
ElseIf (Hang - VungChon(1, i)) * (Hang - VungChon(1, i + 1)) < 0 Then
For j = 1 To UBound(VungChon.Value, 1) - 1
If (Cot - VungChon(j, 1)) * (Cot - VungChon(j + 1, 1)) < 0 Then
TangAnPha = (VungChon(j, i + 1) - VungChon(j, i)) / (VungChon(1, i + 1) - VungChon(1, i))
NoiSuy1 = VungChon(j, i) + (Hang - VungChon(1, i)) * TangAnPha

TangAnPha = (VungChon(j + 1, i + 1) - VungChon(j + 1, i)) / (VungChon(1, i + 1) - VungChon(1, i))
NoiSuy2 = VungChon(j + 1, i) + (Hang - VungChon(1, i)) * TangAnPha

TangAnPha = (NoiSuy2 - NoiSuy1) / (VungChon(j + 1, 1) - VungChon(j, 1))
TraBang2Chieu = NoiSuy1 + (Cot - VungChon(j, 1)) * TangAnPha
GoTo Thoat:
End If
Next j
End If
Next i

Thoat:
'TraBang = UBound(VungChon.Value, 2)
End Function
Tuy nhiên mình vẫn chưa sử dụng được, các bạn xem giúp mình nhé.

attachment.php
 

File đính kèm

  • 1.jpg
    1.jpg
    46.7 KB · Đọc: 1,257
  • NS2C.xls
    NS2C.xls
    24 KB · Đọc: 115
Lần chỉnh sửa cuối:
Bạn nhầm rồi, công thức là giá trị theo hàng trước, giá trị theo cột sau.Bạn đổi vị trí lại là ok thôi mà.
 
Function TraBang2Chieu(ByVal Hang, ByVal Cot, VungChon As Range)
bạn xem lại dòng viết này,hiểu hãy áp dụng nhé.
bạn khanhnam nói đúng đó
 
Bài này mình post lên cũng hơn nửa năm rồi, hồi đó chưa biết chút gì về VBA, sau này bỏ công mày mò nên cũng đã làm được rồi, dù sao cũng cảm ơn mọi người.
 
Web KT

Bài viết mới nhất

Back
Top Bottom