Giúp tôi với !!!
Tôi viết một hàm để tra các con số trong bảng tính. Khi viết xong rồi tôi có chạy thử vài lần thì chạy được nhưng chưa ưng ý lắm. Trong lần sửa gần đây, để khai báo lại mảng 2 chiều và 1 chiều cho đúng với phần tử đã gán nhưng không hiểu sao khi bật xem lại trong phần View watch window thì không thấy phần tử nào cả và hàm cho ra kết qủa #Value!. Tôi mò mẫm hòai mà không biết lỗi do đâu. Xin các bác trên diễn đàn ai biết xin chỉ giúp ...... Tôi xin cám ơn nhiều nhiều!!!!!!!!. Code của tôi đã viết như sau:
Tôi viết một hàm để tra các con số trong bảng tính. Khi viết xong rồi tôi có chạy thử vài lần thì chạy được nhưng chưa ưng ý lắm. Trong lần sửa gần đây, để khai báo lại mảng 2 chiều và 1 chiều cho đúng với phần tử đã gán nhưng không hiểu sao khi bật xem lại trong phần View watch window thì không thấy phần tử nào cả và hàm cho ra kết qủa #Value!. Tôi mò mẫm hòai mà không biết lỗi do đâu. Xin các bác trên diễn đàn ai biết xin chỉ giúp ...... Tôi xin cám ơn nhiều nhiều!!!!!!!!. Code của tôi đã viết như sau:
Mã:
Function Tra(Tisoh As Single, TisoE As Single, Ygocms As Single)
Dim M(1 To 4, 1 To 5) As Long
Dim H(1 To 4) As Single
Dim C(1 To 5) As Single
Dim HsoAPhi(1 To 7) As Single
Dim Yphi(1 To 7) As Single
Dim mC1 As Single
Dim mC2 As Single
Dim Aphi As Single
Dim Phigocms As Single
Dim i As Integer
Dim j As Integer
Dim k As Integer
M(1, 1) = 1: M(1, 2) = 2: M(1, 3) = 3: M(1, 4) = 5: M(1, 5) = 7
M(2, 1) = 2: M(2, 2) = 3: M(2, 3) = 7: M(2, 4) = 9: M(2, 5) = 11
M(3, 1) = 3: M(3, 2) = 4.5: M(3, 3) = 8.5: M(3, 4) = 10: M(3, 5) = 14
M(4, 1) = 5: M(4, 2) = 7: M(4, 3) = 10: M(4, 4) = 12: M(4, 5) = 16
H(1) = 4: H(2) = 6: H(3) = 9: H(4) = 12
C(1) = 2: C(2) = 4: C(3) = 6: C(4) = 8: C(5) = 10
HsoAPhi(1) = 0.02: HsoAPhi(2) = 0.05: HsoAPhi(3) = 0.07: HsoAPhi(4) = 0.09: HsoAPhi(5) = 0.12: HsoAPhi(6) = 0.16: HsoAPhi(7) = 0.21
Yphi(1) = 9: Yphi(2) = 14: Yphi(3) = 18: Yphi(4) = 24: Yphi(5) = 27: Yphi(6) = 32: Yphi(7) = 40
For j = 1 To 5
For i = 1 To 4
Do While ((Tisoh > C(j - 1) Or Tisoh = C(j - 1)) And (Tisoh < C(j) Or Tisoh = C(j))) And ((TisoE > H(i - 1) Or TisoE = H(i - 1)) And (TisoE < H(i) Or TisoE = H(i)))
mC1 = M(i - 1, j - 1) + ((TisoE - H(i - 1)) / (H(i) - H(i - 1))) * (M(i, j - 1) - M(i - 1, j - 1))
mC2 = M(i - 1, j) + ((TisoE - H(i)) / (H(i) - H(i - 1))) * (M(i, j) - M(i - 1, j))
Exit Do
Loop
Phigocms = mC1 + ((Tisoh - C(j - 1)) / (C(j) - C(j - 1))) * (mC2 - mC1)
Next
Next
For k = 1 To 7
Do While (Ygocms > Yphi(k - 1) Or Ygocms = Yphi(k - 1)) And (Ygocms < Yphi(k) Or Ygocms = Yphi(k))
Aphi = HsoAPhi(k - 1) + ((Ygocms - Yphi(k - 1)) / (Yphi(k) - Yphi(k - 1))) * (HsoAPhi(k) - HsoAPhi(k - 1))
Exit Do
Loop
Next
Tra = Round((Phigocms / Aphi), 2)
End Function
Chỉnh sửa lần cuối bởi điều hành viên: