Dùng Ctrl+F để tìm, nếu chỉ tìm được 1 Ô thỏa điều kiện thì không cần thông báo, nhưng nếu không tìm thấy hoặc tìm được nhiều hơn 1 ô thì thộng báo

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,016
Được thích
163
Em chào các anh/ chị
Hiện nay em dùng Ctrl+F để tìm
Em muốn nếu nó tìm được 1 ô thì không cần thông báo
Nhưng nếu nó không tìm được hoặc tìm được nhiều hơn 1 ô thì nó thông báo (MsgBox)
Em có sưu tầm được 1 code, nhờ các anh chị sửa code để nó thỏa điều kiện của em
Mã:
Sub Test2()
    Dim Rng As Range, LastCell As Range, FirstAddress As String
    Range("A2:A1000").Select
    Set LastCell = Selection.Cells(Selection.Cells.Count)
    Set Rng = Selection.Find(Sheets("SHEET1").Range("B1").Value, After:=LastCell, LookIn:=xlFormulas, LookAt:=xlWhole)
    FirstAddress = Rng.Address
    If Not Rng Is Nothing Then
        Do
            MsgBox Rng.Address
            Set Rng = Selection.FindNext(Rng)
        Loop While FirstAddress <> Rng.Address
    End If
End Sub
Em đã thử chỉnh code mấy ngày rồi nhưng không sửa được nhờ anh chị hổ trợ giúp em
(mục đích của em: nếu tìm được 1 ô thỏa điều kiện thì em sẽ cho code tiếp tục làm việc kế tiếp, nhưng Nhưng nếu nó không tìm được hoặc tìm được nhiều hơn 1 ô thì nó thông báo và dừng chạy code để em xử lý)
Em cảm ơn!
 

File đính kèm

  • Ctrl_F.xlsm
    18.1 KB · Đọc: 8
Em chào các anh/ chị
Hiện nay em dùng Ctrl+F để tìm
Em muốn nếu nó tìm được 1 ô thì không cần thông báo
Nhưng nếu nó không tìm được hoặc tìm được nhiều hơn 1 ô thì nó thông báo (MsgBox)
Em có sưu tầm được 1 code, nhờ các anh chị sửa code để nó thỏa điều kiện của em
Mã:
Sub Test2()
    Dim Rng As Range, LastCell As Range, FirstAddress As String
    Range("A2:A1000").Select
    Set LastCell = Selection.Cells(Selection.Cells.Count)
    Set Rng = Selection.Find(Sheets("SHEET1").Range("B1").Value, After:=LastCell, LookIn:=xlFormulas, LookAt:=xlWhole)
    FirstAddress = Rng.Address
    If Not Rng Is Nothing Then
        Do
            MsgBox Rng.Address
            Set Rng = Selection.FindNext(Rng)
        Loop While FirstAddress <> Rng.Address
    End If
End Sub
Em đã thử chỉnh code mấy ngày rồi nhưng không sửa được nhờ anh chị hổ trợ giúp em
(mục đích của em: nếu tìm được 1 ô thỏa điều kiện thì em sẽ cho code tiếp tục làm việc kế tiếp, nhưng Nhưng nếu nó không tìm được hoặc tìm được nhiều hơn 1 ô thì nó thông báo và dừng chạy code để em xử lý)
Em cảm ơn!
Làm đại:
Mã:
Sub Test2()
  Dim wks As Worksheet
  Dim rng As Range, rngFind  As Range, rngFindNext As Range
  Set wks = Worksheets("Sheet1")
  Set rng = wks.Range("A1:A1000")
  Set rngFind = rng.Find(wks.Range("B1").Value, , xlFormulas, xlWhole)
  If Not rngFind Is Nothing Then
    Set rngFindNext = rng.FindNext(rngFind)
    If rngFindNext.Address <> rngFind.Address Then
      MsgBox "Co hon mot o thoa dieu kien"
    End If
  Else
    MsgBox "Khong tim thay o nao"
  End If
End Sub
 
Upvote 0
Web KT
Back
Top Bottom