Tôi đã tự viết 1 source code trong bảng tính kết cấu, khi cho chạy thử thì cũng tạm ổn nhưng có 1 điều tôi thử xóa các ô đã gán giá trị hay công thức thì không có vấn đề gì cả, chỉ riêng khi chọn ô I79 nhấn phím Delete thì thủ tục báo lỗi là: Type mismatch có thể tạm dịch là kiểu ghép đôi không xứng, tôi chưa từng gặp lỗi như thế này và cũng không biết bắt đầu chỉnh sửa từ đâu? Kính mong các Pác trong diễn đàn quan tâm góp ý sửa giúp tôi ....Tôi xin cám ơn nhìu nhìu. Code tôi đã viết và kể cả hình minh họa.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim b1, b2, b3, b4, b5, c, d1, d2, d3, d4, D, En, TsHD, TsE, Khs, K2, Phi As Single
With Sheets("BTKCAU")
b1 = .Range("D56").Value
b2 = .Range("F64").Value
b3 = .Range("D79").Value
b4 = .Range("D110").Value
b5 = .Range("D122").Value
c = .Range("J41").Value
d1 = .Range("E37").Value
d2 = .Range("E38").Value
d3 = .Range("E39").Value
d4 = .Range("E40").Value
D = .Range("C87").Value
En = .Range("F41").Value
TsHD = .Range("F82").Value
TsE = .Range("F83").Value
Khs = .Range("F30").Value
K2 = .Range("I32").Value * .Range("F26").Value
Phi = .Range("K41").Value
End With
If (c > 0 And c <= 0.038) And d1 > 0 And d2 > 0 And d3 > 0 And d4 > 0 And En > 0 And Khs > 0 And (Phi > 0 And Phi <= 35) Then
Sheets("BTKCAU").Range("I56").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b1)
Sheets("BTKCAU").Range("H64").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b2)
Sheets("BTKCAU").Range("I79").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b3)
Sheets("BTKCAU").Range("I110").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b4)
Sheets("BTKCAU").Range("I122").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b5)
Sheets("BTKCAU").Range("J60").Formula = NS1chieu(Sheets("BTRA").Range("AF29:AG33"), Khs)
Sheets("BTKCAU").Range("J94").Formula = NS1chieu(Sheets("BTRA").Range("AI29:AJ33"), Khs)
Sheets("BTKCAU").Range("J133").Formula = NS1chieu(Sheets("BTRA").Range("AI29:AJ33"), Khs)
Sheets("BTKCAU").Range("I87").Formula = Noisuy2chieu(Phi, D, Sheets("BTRA").Range("A64:L71")) / 1000
Sheets("BTKCAU").Range("F117").Formula = Noisuy2chieu(Sheets("BTKCAU").Range("F116").Value, Sheets("BTKCAU").Range("F115").Value, Sheets("BTRA").Range("A42:U60"))
Sheets("BTKCAU").Range("F129").Formula = Noisuy2chieu(Sheets("BTKCAU").Range("F128").Value, Sheets("BTKCAU").Range("F127").Value, Sheets("BTRA").Range("A42:U60"))
Select Case K2
Case Is <= 100
Sheets("BTKCAU").Range("J92").Value = 1
Case Is >= 5000
Sheets("BTKCAU").Range("J92").Value = 0.6
Case 100 To 5000
Sheets("BTKCAU").Range("J92").Formula = NS1chieu(Sheets("TRACBBOX").Range("H21:I23"), K2)
End Select
Select Case TsE
Case Is > 7
Sheets("BTKCAU").Range("j84").Formula = Noisuy2chieu(TsE, TsHD, Sheets("BTRA").Range("A16:AL25")) / NS1chieu(Sheets("BTRA").Range("Z29:AA51"), Phi)
Case Is <= 7
Sheets("BTKCAU").Range("j84").Formula = Noisuy2chieu(TsE, TsHD, Sheets("BTRA").Range("A3:V12")) / NS1chieu(Sheets("BTRA").Range("W29:X51"), Phi)
End Select
Else
MsgBox "Mời bạn xem lại dữ liệu nhập vào", vbInformation + vbYes, "CHU Y !"
Exit Sub
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim b1, b2, b3, b4, b5, c, d1, d2, d3, d4, D, En, TsHD, TsE, Khs, K2, Phi As Single
With Sheets("BTKCAU")
b1 = .Range("D56").Value
b2 = .Range("F64").Value
b3 = .Range("D79").Value
b4 = .Range("D110").Value
b5 = .Range("D122").Value
c = .Range("J41").Value
d1 = .Range("E37").Value
d2 = .Range("E38").Value
d3 = .Range("E39").Value
d4 = .Range("E40").Value
D = .Range("C87").Value
En = .Range("F41").Value
TsHD = .Range("F82").Value
TsE = .Range("F83").Value
Khs = .Range("F30").Value
K2 = .Range("I32").Value * .Range("F26").Value
Phi = .Range("K41").Value
End With
If (c > 0 And c <= 0.038) And d1 > 0 And d2 > 0 And d3 > 0 And d4 > 0 And En > 0 And Khs > 0 And (Phi > 0 And Phi <= 35) Then
Sheets("BTKCAU").Range("I56").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b1)
Sheets("BTKCAU").Range("H64").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b2)
Sheets("BTKCAU").Range("I79").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b3)
Sheets("BTKCAU").Range("I110").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b4)
Sheets("BTKCAU").Range("I122").Formula = NS1chieu(Sheets("BTRA").Range("AL29:AM35"), b5)
Sheets("BTKCAU").Range("J60").Formula = NS1chieu(Sheets("BTRA").Range("AF29:AG33"), Khs)
Sheets("BTKCAU").Range("J94").Formula = NS1chieu(Sheets("BTRA").Range("AI29:AJ33"), Khs)
Sheets("BTKCAU").Range("J133").Formula = NS1chieu(Sheets("BTRA").Range("AI29:AJ33"), Khs)
Sheets("BTKCAU").Range("I87").Formula = Noisuy2chieu(Phi, D, Sheets("BTRA").Range("A64:L71")) / 1000
Sheets("BTKCAU").Range("F117").Formula = Noisuy2chieu(Sheets("BTKCAU").Range("F116").Value, Sheets("BTKCAU").Range("F115").Value, Sheets("BTRA").Range("A42:U60"))
Sheets("BTKCAU").Range("F129").Formula = Noisuy2chieu(Sheets("BTKCAU").Range("F128").Value, Sheets("BTKCAU").Range("F127").Value, Sheets("BTRA").Range("A42:U60"))
Select Case K2
Case Is <= 100
Sheets("BTKCAU").Range("J92").Value = 1
Case Is >= 5000
Sheets("BTKCAU").Range("J92").Value = 0.6
Case 100 To 5000
Sheets("BTKCAU").Range("J92").Formula = NS1chieu(Sheets("TRACBBOX").Range("H21:I23"), K2)
End Select
Select Case TsE
Case Is > 7
Sheets("BTKCAU").Range("j84").Formula = Noisuy2chieu(TsE, TsHD, Sheets("BTRA").Range("A16:AL25")) / NS1chieu(Sheets("BTRA").Range("Z29:AA51"), Phi)
Case Is <= 7
Sheets("BTKCAU").Range("j84").Formula = Noisuy2chieu(TsE, TsHD, Sheets("BTRA").Range("A3:V12")) / NS1chieu(Sheets("BTRA").Range("W29:X51"), Phi)
End Select
Else
MsgBox "Mời bạn xem lại dữ liệu nhập vào", vbInformation + vbYes, "CHU Y !"
Exit Sub
End If
End Sub
Lần chỉnh sửa cuối: