Tìm dữ liệu Ctr + F với Macro (1 người xem)

Người dùng đang xem chủ đề này

ZzKimNganzZ

Thành viên mới
Tham gia
26/8/13
Bài viết
11
Được thích
0
Dear anh chị!

Em muốn hỏi anh chị cách thu macro với Ctr + F như sau:

Mã:
Sub Macro1()

Application.ScreenUpdating = False
    Columns("A:A").Select
    Selection.Find(What:="747", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate


End Sub

Bây giờ em muốn thay số 747 thành giá trị tại ô A2 thì viết code như thế nào ạ?

Em cám ơn
 
Thế này thôi bạn: What:=Range("A2").Value
Hoặc: What:=Cells(2,1).Value
 
Ghi macro thì bạn ghi cho hết thao tác đi! bạn ghi nửa chừng rồi lại mất công hỏi!
Cells.FindNext(After:=ActiveCell).Activate
 
vậy làm sao mình tìm dữ liệu trong cột A sau đó chạy đến đúng dữ liệu cần tìm anh?
Dòng code cuối mình viết như thế nào ạ?
???.select

Cám ơn anh!

Số cần tìm bạn phải gõ vào cột B chứ sao lại là A2 nhỉ?
 
Số cần tìm bạn phải gõ vào cột B chứ sao lại là A2 nhỉ?
Hi anh!

Em gửi anh file đính kèm nhờ anh xem giúp em ạ.
Em muốn tìm mã VIP Card, thay vì nhấn Ctr+F để tìm thì gõ số vào ô A2 rồi nhấn nút tìm. Con trỏ sẽ chạy xuống ô cần tìm. (Nếu tô màu dòng cần tìm lên thì càng tốt ạ)

Thanks anh!
 

File đính kèm

Hi anh!

Em gửi anh file đính kèm nhờ anh xem giúp em ạ.
Em muốn tìm mã VIP Card, thay vì nhấn Ctr+F để tìm thì gõ số vào ô A2 rồi nhấn nút tìm. Con trỏ sẽ chạy xuống ô cần tìm. (Nếu tô màu dòng cần tìm lên thì càng tốt ạ)

Thanks anh!

co như vậy có xài được hong

Sub tim()

Dim tim As Range
Set tim = [A5:A60000].Find("VIP 000 " & [a2])
If Not tim Is Nothing Then
MsgBox "no ne " & tim.Address
tim.Select
End If

End Sub
 
co như vậy có xài được hong

Sub tim()

Dim tim As Range
Set tim = [A5:A60000].Find("VIP 000 " & [a2])
If Not tim Is Nothing Then
MsgBox "no ne " & tim.Address
tim.Select
End If

End Sub
Sẽ xảy ra trường hợp tìm giá trị 12 sẽ trả về kết quả của giá trị 120. Tôi có giải pháp tương tự:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
    Set tim = Range("A6:A65536").Find("VIP 000 " & Format(Target.Value, "000"))
    If Not tim Is Nothing Then tim.Select
End If
End Sub
 
Sẽ xảy ra trường hợp tìm giá trị 12 sẽ trả về kết quả của giá trị 120. Tôi có giải pháp tương tự:
[/php]

cái đó chắc là do mình tick option trong Find là Matchcase
nếu sợ nó tìm ko đúng thì thêm vào find
Set tim = [A5:A60000].Find("VIP 000 " & [a2],,,,,0)-->tức là set match case = false
 
cái đó chắc là do mình tick option trong Find là Matchcase
nếu sợ nó tìm ko đúng thì thêm vào find
Set tim = [A5:A60000].Find("VIP 000 " & [a2],,,,,0)-->tức là set match case = false
Hình như hổng phải vấn đề này mà là "Match entire cell contents" (tìm chính xác) thì phải (tức đang nói đến hằng số xlWhole ấy)
 

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

Back
Top Bottom