Tìm và So sánh số liệu

  • Thread starter Thread starter sonn123
  • Ngày gửi Ngày gửi
Liên hệ QC

sonn123

Thành viên mới
Tham gia
7/10/09
Bài viết
6
Được thích
0
Chào mọi người,
Mình muốn viết macro cho bài toán sau:
Mình sẽ lấy số liệu ở cột B của Sheet "Open" so với số liệu ở cột B của 2 sheet "Over" và "Onsite" , nếu trùng với cột B của "Onsite" thì ghi vào hàng tương ứng ở cột E của sheet "Open" là "InProgress", còn nếu trùng với cột B của "Over" mà không trùng với "Onsite" thì ghi là "Over".
Nếu trùng với cả hai sheet "Over" và "Onsite" thì ghi là "InProgress"
Mong mọi người hướng dẫn giúp.
Xin cảm ơn.
 

File đính kèm

Đây là macro bạn có thể xài

PHP:
Option Explicit
Sub TimVaSoSanh()
 Dim Sh As Worksheet, Sht As Worksheet, Rng1 As Range, Rng As Range
 Dim sRng1 As Range, sRng As Range, Clls As Range, MyColor As Byte
 Const sIn As String = "In Progress":        Const Ove As String = "Over"
 
 Sheets("Open").Select
 If [A1].Interior.ColorIndex < 34 Then
   MyColor = 34
 Else
   MyColor = [A1].Interior.ColorIndex + 1
 End If
 Set Sh = Sheets("Over"):     Set Rng1 = Sh.Range(Sh.[B1], Sh.[B65500].End(xlUp))
 Set Sht = Sheets("Onsite"):  Set Rng = Sht.Range(Sht.[B3], Sht.[B65500].End(xlUp))
 For Each Clls In Range([B1], [B65500].End(xlUp))
   With Clls
      Set sRng1 = Rng1.Find(.Value, , xlFormulas, xlWhole)
      Set sRng = Rng.Find(.Value)
      If Not sRng1 Is Nothing And Not sRng Is Nothing Then
         .Offset(, 3).Value = sIn
      ElseIf Not sRng Is Nothing Then
         .Offset(, 4).Value = sIn
      ElseIf Not sRng1 Is Nothing And sRng Is Nothing Then
         .Offset(, 4).Value = Ove
      End If
   End With
 Next Clls
 [A1].Interior.ColorIndex = IIf(MyColor < 42, MyColor, 34)
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

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

Back
Top Bottom