Em đã viết được một hàm để tra rồi, nhưng không hiểu sao không chạy được. Mã code của hàm như sau. Mong các bác có nhiều kinh nghiệm kiểm tra giúp em. File excel em attach dưới đây. Ngoài ra em dùng excel 2007, không biết cái này có ảnh hưởng gì đến việc không chạy được không!
Em xin chân thành cảm ơn. Chúc các bác luôn mạnh khỏe!
Function CalE(vungtra As Range, R As Double, V As Double) As Double
'Ham noi suy gia tri e tu R va V cho truoc
Dim ktra As Boolean
Dim i As Integer
Dim r1 As Double, r2 As Double, e1 As Double, e2 As Double
For i = 1 To vungtra.Cells.Count
kiemtra = False
Select Case V
Case V = 20
If vungtra.Cells(i, 2) >= R And vungtra.Cells(i + 1, 2) <= R Then
r1 = vungtra.Cells(i, 2): r2 = vungtra.Cells(i + 1, 2)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 30
If vungtra.Cells(i, 3) >= R And vungtra.Cells(i + 1, 3) <= R Then
r1 = vungtra.Cells(i, 3): r2 = vungtra.Cells(i + 1, 3)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 40
If vungtra.Cells(i, 4) >= R And vungtra.Cells(i + 1, 4) <= R Then
r1 = vungtra.Cells(i, 4): r2 = vungtra.Cells(i + 1, 4)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 50
If vungtra.Cells(i, 5) >= R And vungtra.Cells(i + 1, 5) <= R Then
r1 = vungtra.Cells(i, 5): r2 = vungtra.Cells(i + 1, 5)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 60
If vungtra.Cells(i, 6) >= R And vungtra.Cells(i + 1, 6) <= R Then
r1 = vungtra.Cells(i, 6): r2 = vungtra.Cells(i + 1, 6)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 70
If vungtra.Cells(i, 7) >= R And vungtra.Cells(i + 1, 7) <= R Then
r1 = vungtra.Cells(i, 7): r2 = vungtra.Cells(i + 1, 7)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 80
If vungtra.Cells(i, 8) >= R And vungtra.Cells(i + 1, 8) <= R Then
r1 = vungtra.Cells(i, 8): r2 = vungtra.Cells(i + 1, 8)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 90
If vungtra.Cells(i, 9) >= R And vungtra.Cells(i + 1, 9) <= R Then
r1 = vungtra.Cells(i, 9): r2 = vungtra.Cells(i + 1, 9)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 100
If vungtra.Cells(i, 10) >= R And vungtra.Cells(i + 1, 10) <= R Then
r1 = vungtra.Cells(i, 10): r2 = vungtra.Cells(i + 1, 10)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 110
If vungtra.Cells(i, 11) >= R And vungtra.Cells(i + 1, 11) <= R Then
r1 = vungtra.Cells(i, 11): r2 = vungtra.Cells(i + 1, 11)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 120
If vungtra.Cells(i, 12) >= R And vungtra.Cells(i + 1, 12) <= R Then
r1 = vungtra.Cells(i, 12): r2 = vungtra.Cells(i + 1, 12)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
Case V = 130
If vungtra.Cells(i, 13) >= R And vungtra.Cells(i + 1, 13) <= R Then
r1 = vungtra.Cells(i, 13): r2 = vungtra.Cells(i + 1, 13)
e1 = vungtra.Cells(i, 1): e2 = vungtra.Cells(i + 1, 1)
CalE = (e2 - e1) * (r1 - R) / (r1 - r2) + e1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
End Select
End Function