Chào các anh chị,
Em có 1 add-in này gồm các đoạn code để phân chia đốt cống bê tông ly tâm theo đường kính D và chiều dài L. Trong đó lệnh Dot1, Dot2, Dot3, Dot4 tương ứng tìm số đốt cống có chiều dài 1m, 2m, 3m, 4m.
Em lưu add-in trong đường dẫn: C:\Program Files\Microsoft Office\Office14\xlstart
Khi e dùng trên máy tính có hệ điều hành windows 7 thì chạy tốt (các lệnh Dot1, Dot2, Dot3, Dot4 điều cho kết quả như ý muốn)
Nhưng khi dùng trên máy tính có hệ điều hành windows 10 thì các lệnh trên điều bị lỗi, và báo #REF
Mong các anh chị tiền bối tìm giúp lỗi và cách sửa như thế nào. Em cảm ơn mọi người
Em có 1 add-in này gồm các đoạn code để phân chia đốt cống bê tông ly tâm theo đường kính D và chiều dài L. Trong đó lệnh Dot1, Dot2, Dot3, Dot4 tương ứng tìm số đốt cống có chiều dài 1m, 2m, 3m, 4m.
Em lưu add-in trong đường dẫn: C:\Program Files\Microsoft Office\Office14\xlstart
Khi e dùng trên máy tính có hệ điều hành windows 7 thì chạy tốt (các lệnh Dot1, Dot2, Dot3, Dot4 điều cho kết quả như ý muốn)
Nhưng khi dùng trên máy tính có hệ điều hành windows 10 thì các lệnh trên điều bị lỗi, và báo #REF
Mong các anh chị tiền bối tìm giúp lỗi và cách sửa như thế nào. Em cảm ơn mọi người
Mã:
Function Dot1(D, L)
If L = 1 Then Dot1 = 1 Else Dot1 = 0
If D = 0 And L = 0 Then Dot1 = 0
End Function
Function Dot2(D, L)
Dot2 = 0
'If D > 1000 Then
Du = L Mod (3)
If Du = 2 And D > 1000 Then Dot2 = 1
If Du = 2 And D <= 1000 Then Dot2 = 0
If Du = 1 And D > 1000 Then Dot2 = 2
If Du = 1 And D <= 1000 Then Dot2 = 0
If Du = 0 Then Dot2 = 0
'End If
If L = 2 Then Dot2 = 1
If L = 5 Then Dot2 = 1
If D = 0 And L = 0 Then Dot2 = 0
If L < 2 Then Dot2 = 0
If Val(D) = 0 Then Dot2 = 0
End Function
Function Dot3(D, L)
Dim Dot2
Dot3 = 0
If D > 1000 Then
Du = L Mod (3)
If Du = 2 Then Dot2 = 1
If Du = 1 Then Dot2 = 2
Dot3 = (L - Val(Dot2) * 2) / 3
Else
Du = L Mod (4)
If Du = 0 Then Dot3 = 0
If Du = 1 Then Dot3 = 3
If Du = 2 Then Dot3 = 2
If Du = 3 Then Dot3 = 1
End If
If D = 0 And L = 0 Then Dot3 = 0
If L < 3 Then Dot3 = 0
If L = 5 Then Dot3 = 1
If Val(D) = 0 Then Dot3 = 0
End Function
Function Dot4(D, L)
Dim Dot2, Dot3
Dot4 = 0
If D <= 1000 Then
Du = L Mod (4)
If Du = 0 Then Dot2 = 0: Dot3 = 0
If (Du = 1) And (L = 5) Then Dot2 = 1: Dot3 = 1
If (Du = 1) And (L <> 5) Then Dot2 = "": Dot3 = 3
If Du = 2 Then Dot3 = 2
If Du = 3 Then Dot3 = 1
Dot4 = (L - Val(Dot2) * 2 - Val(Dot3) * 3) / 4
Else: Dot4 = 0
End If
If D = 0 And L = 0 Then Dot4 = 0
If L < 4 Then Dot4 = 0
If Val(D) = 0 Then Dot4 = 0
End Function
Sửa lần cuối bởi điều hành viên: