Lỗi so sánh 2 giá trị bằng nhau chứa trong 2 ô excel lại cho kết quả khác với gán vào biến trung gian để so sánh.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

phamvanan88

Thành viên mới
Tham gia
15/10/14
Bài viết
23
Được thích
0
Nhờ các bác hỗ trợ, hiện em có dùng VBA để lọc tìm dữ liệu, em có dùng lệnh để xử lý giá trị ô tính, thì em gặp lỗi giá trị trong ô mặc dù bằng nhau nhưng khi đọc trực tiếp đưa vào hàm so sánh thì nó trả ra kq so sánh là sai; trong khi gán biến trung gian rồi mới so sánh thì cho ra kết quả đúng. Vậy các bác chỉ giúp em lỗi ở đâu ah, có những ô tính khác thì em so sánh trực tiếp nó vẫn cho kq đúng, nhưng có ô tính lại trả kq sai.

'giá trị ở 2 ô ShTT.Cells(i, arrTT(5)) và ShDT.Cells(i, arrDT(5)) là bằng nhau;
Sheet3.Range("I1") = ShTT.Cells(i, arrTT(5)) '
Sheet3.Range("I2") = ShDT.Cells(i, arrDT(5))

' TH1: đọc trực tiếp giá trị trong ô để so sánh, kq trả ra false
If Sheet3.Range("I1").Value = Sheet3.Range("I2").Value Then
Sheet3.Range("J1") = "true"
Else
Sheet3.Range("J1") = "false"
End If

' TH2: gán giá trị qua biến trung gian để so sánh, kq trả ra true
temp1 = ShTT.Cells(i, arrTT(5))
temp2 = ShDT.Cells(i, arrDT(5))
If temp1 >= temp2 Then
Sheet3.Range("J2") = "true"
Else
Sheet3.Range("J2") = "false"
End If
 
Máy tính có nhiều kiểu định nghĩa biến và cách lưu trữ khác nhau.
Khi so sánh thì bạn cần so sánh kể thêm 1 lượng Epsilon;
A - B < Epsilon thì A = B
Trên diễn đàn có nói nhiều về việc này.
 
Upvote 0
Web KT

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

Back
Top Bottom