Hỗ trợ câu lệnh so sánh O2 và R2
Chào anh chị em có vấn đề này nhờ anh chị hỗ trợ giúp em.
Cột O2 của em có giá trị là: 19936770-
Cột R2 của em có giá trị là: 19936770-
Em đã thử hàm ISNUMBER cả O2 lẫn R2 thì là FALSE, tức là không phải kiểu số.
960
Vấn đề của em là so sánh
em thử =O2=R2 thì nó phải trả về TRUE mới đúng, nhưng nó lại là FALSE. Em không tìm ra lý do, nguyên nhân của vấn đề này.Vấn đề chính em cần hỗ trợ là 1 câu lệnh VBA.
Em viết một câu lệnh VBA
Kiểu 1
If Right(Sheet2.Range("R2").Value, 20) = Right(Sheet2.Range("O2").Value, 20) Then
Kiểu 2
If Sheet2.Range("R2").Value = Sheet2.Range("O2").Value Then
Kiểu 3
If ABS(Sheet2.Range("R2").Value) = ABS(Sheet2.Range("O2").Value Then
…………………..
Em thử nhiều cách viết nhưng do lỗi ở trên như em đã nói, nên viết VBA kiểu gì nó cũng lỗi.
Nhờ anh chị hỗ trợ tìm nguyên nhân lỗi này giúp em, và cho em xin một câu lệnh đúng cho trường hợp này ạ.
Em cảm ơn anh chị nhiềuVấn đề là O2 có mấy dấu phẩy.
If Replace(Sheet2.Range("R2").Value, ",", "") = Replace(Sheet2.Range("O2").Value, ",", "") Then
Một cách làm khác ạ:
Option Explicit
Public Function Number(ByVal sInputString As String) As Double
Dim i As Integer
Dim lFirstNumberPos As Long
For i = 1 To Len(sInputString)
If IsNumeric(Mid(sInputString, i, 1)) Then
lFirstNumberPos = i
Exit For
End If
Next i
Number = Mid$(sInputString, lFirstNumberPos)
End Function
Sub test()
Dim sheet As Worksheet
Set sheet = ThisWorkbook.Worksheets("Data")
MsgBox Number(sheet.Range("O2").Value) = Number(sheet.Range("O2").Value)
End Sub
www.giaiphapexcel.com/diendan/threads/h%E1%BB%97-tr%E1%BB%A3-c%C3%A2u-l%E1%BB%87nh-so-s%C3%A1nh-o2-v%C3%A0-r2.163589/
Chịu thua cách làm ăn của thớt luôn.
Code test dữ liệu Sheet2. Mà sheet này thì trống trơn.
Sheet Data, twusc Sheet3 mới chứa dữ liệu.@Thớt: muốn học viết VBA thì tối thiểu cũng phải học cách dùng cửa sổ Immediate.
Nếu dùng thì đã thấy chúng đâu có giống nhau962
À xin lỗi anh, lỗi của em, do file thực tế của em là file khác, em copy lại file này cho gọn (file này là file giả định), để hỏi vấn đề thôi. File thiệt của em là Sheet2 đó anh.
Nhưng qua đây mới thấy sự tuyệt vời của GPE, các anh chị quá nhạy, dù em bị nhầm. Nhưng anh chị vẫn cho ra kết quả đúng, chính xác. Tuyệt vời là chỗ này.
@Thớt: muốn học viết VBA thì tối thiểu cũng phải học cách dùng cửa sổ Immediate.
Nếu dùng thì đã thấy chúng đâu có giống nhau
Em sẽ xem lại vấn đề này, cảm ơn anh đã nhắc nhở.
Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM
Khóa học “Thiết kế Tổng phần thưởng (Total Reward) chuẩn khung SHRM” giúp bạn nắm vững toàn bộ hệ thống đãi ngộ theo chuẩn...
Xem khóa học