Dùng dữ liệu sheet 2 để tìm kiếm trong sheet 1, nếu có thì tô màu.

Liên hệ QC

vuthuaphong

Thành viên mới
Tham gia
12/8/09
Bài viết
11
Được thích
1
Chào mọi người.
Em có file excel chứa nhiều cột và dòng ở sheet 1, em đang muốn tìm kiếm ô chứa dữ liệu giống bên sheet 2 và tô màu cho nó. Thay vì ngồi Ctrl+F rồi copy dữ liệu của sheet 2 vào ô tìm kiếm rồi tô màu thì có cách nào cho nó chạy tự động được không ạ. Kiểu là mình chỉ cần copy dữ liệu cần tìm vào cột A của sheet 2 rồi dùng macro cho nó tự tham chiếu rồi tìm bên sheet 1, nếu đúng thì tô màu, ko đúng thì dừng lại hoặc xuất hiện thông báo.
Công việc của e đang rất cần cái này, mong a/c nào giúp em với.
Cảm ơn rất nhiều ạ.
 

File đính kèm

  • Book1.xls
    1.3 MB · Đọc: 47
Chào mọi người.
Em có file excel chứa nhiều cột và dòng ở sheet 1, em đang muốn tìm kiếm ô chứa dữ liệu giống bên sheet 2 và tô màu cho nó. Thay vì ngồi Ctrl+F rồi copy dữ liệu của sheet 2 vào ô tìm kiếm rồi tô màu thì có cách nào cho nó chạy tự động được không ạ. Kiểu là mình chỉ cần copy dữ liệu cần tìm vào cột A của sheet 2 rồi dùng macro cho nó tự tham chiếu rồi tìm bên sheet 1, nếu đúng thì tô màu, ko đúng thì dừng lại hoặc xuất hiện thông báo.
Công việc của e đang rất cần cái này, mong a/c nào giúp em với.
Cảm ơn rất nhiều ạ.
Tô màu làm gì cho mệt.Sao không lấy luôn dữ liệu sang sheet2.Minh không đọc file.
 
Upvote 0
Macro của bạn đây & xin mời:
PHP:
Sub TimTrongDanhSach()
 Dim Rws As Long, W As Integer, Max_ As Integer
 Dim Rng As Range, sRng As Range, Sh As Worksheet, Cls As Range
 Dim MyAdd As String

 Set Sh = Sheet1
 Rws = Sh.UsedRange.Rows.Count
 Set Rng = Sh.[H4].Resize(Rws)
 Sheet2.Select
 For Each Cls In Range([A1], [A1].End(xlDown))
    Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        Cls.Interior.ColorIndex = 38
    Else
        MyAdd = sRng.Address
        Do
            W = W + 1:                  If W > 10 Then W = 0
            Max_ = Max_ + 1
            sRng.Interior.ColorIndex = W + 33
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    End If
    W = 0
 Next Cls
 MsgBox Max_
End Sub
 
Upvote 0
Macro của bạn đây & xin mời:
PHP:
Sub TimTrongDanhSach()
 Dim Rws As Long, W As Integer, Max_ As Integer
 Dim Rng As Range, sRng As Range, Sh As Worksheet, Cls As Range
 Dim MyAdd As String

 Set Sh = Sheet1
 Rws = Sh.UsedRange.Rows.Count
 Set Rng = Sh.[H4].Resize(Rws)
 Sheet2.Select
 For Each Cls In Range([A1], [A1].End(xlDown))
    Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        Cls.Interior.ColorIndex = 38
    Else
        MyAdd = sRng.Address
        Do
            W = W + 1:                  If W > 10 Then W = 0
            Max_ = Max_ + 1
            sRng.Interior.ColorIndex = W + 33
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    End If
    W = 0
 Next Cls
 MsgBox Max_
End Sub
Tuyệt vời. Cảm ơn bạn rất nhiều.
 
Upvote 0
Đề tài này thì liên quan gì đến "sách vở" hở các quý vị?
 
Upvote 0
Tuyệt vời. Cảm ơn bạn rất nhiều.
À mình có thêm chút thắc mắc là nếu muốn chọn cột khác thay vì cột H trước khi chạy macro thì làm thế nào các bác. Kiểu như bấm chạy thì nó sẽ popup cái textbox cho mình điền cột tham chiếu vậy đó. Cảm ơn rất nhiều vì đã đọc và giúp đỡ.
 
Upvote 0
À mình có thêm chút thắc mắc là nếu muốn chọn cột khác thay vì cột H trước khi chạy macro thì làm thế nào các bác. Kiểu như bấm chạy thì nó sẽ popup cái textbox cho mình điền cột tham chiếu vậy đó. Cảm ơn rất nhiều vì đã đọc và giúp đỡ.
Giờ thì phải nhờ SMOD hay MODs dời bài về đúng đề mục
 
Upvote 0
Web KT

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

Back
Top Bottom