Tìm ngày không nằm trong vùng được chọn (1 người xem)

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

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

Miccpro

Thành viên thường trực
Tham gia
9/12/10
Bài viết
236
Được thích
10
Em có 3 cột trong đó 2 cột dữ liệu ngày bắt đầu và ngày kết thúc, cột thứ 3 là cột từ Min(ngày bắt đầu) đến Max(ngày kết thúc). Giờ em muốn tìm những ngày ở cột thứ 3 mà không nằm trong 2 cột dữ liệu có được không ạ, giải bài toán bằng hàm hay VBA tiện hơn vì dữ liệu tương đối nhiều. Em xin cảm ơn cả nhà
 

File đính kèm

Bác thử kiểm tra giúp em trong trường hợp 2 cột E và F mà có ô rỗng thì có cách nào code vẫn chạy và bỏ qua ô rỗng không bác

Nếu ...... dữ liệu nhiều thì thử cái này coi sao.
PHP:
Public Sub DicBu()
Dim Dic As Object, sArr(), I As Long, J As Long, Rng As Range, Cll As Range
Set Dic = CreateObject("Scripting.Dictionary")
sArr = Range("E6", Range("F65536").End(xlUp)).Value
Set Rng = Range("H6", Range("H65536").End(xlUp))
For I = 1 To UBound(sArr)
    If sArr(I, 1) <> Empty Then
        For J = sArr(I, 1) To sArr(I, 2)
            Dic.Item(J) = ""
        Next J
    End If
Next I
Rng.Interior.ColorIndex = 0
For Each Cll In Rng
    If Not Dic.Exists(Cll.Value) Then Cll.Interior.ColorIndex = 36
Next Cll
Set Dic = Nothing: Set Rng = Nothing
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu ...... dữ liệu nhiều thì thử cái này coi sao.
PHP:
Public Sub DicBu()
Dim Dic As Object, sArr(), I As Long, J As Long, Rng As Range, Cll As Range
Set Dic = CreateObject("Scripting.Dictionary")
sArr = Range("E6", Range("F65536").End(xlUp)).Value
Set Rng = Range("H6", Range("H65536").End(xlUp))
For I = 1 To UBound(sArr)
    If sArr(I, 1) <> Empty Then
        For J = sArr(I, 1) To sArr(I, 2)
            Dic.Item(J) = ""
        Next J
    End If
Next I
Rng.Interior.ColorIndex = 0
For Each Cll In Rng
    If Not Dic.Exists(Cll.Value) Then Cll.Interior.ColorIndex = 36
Next Cll
Set Dic = Nothing: Set Rng = Nothing
End Sub
Chuẩn bác ạ, thanks bác nhiều
 
Upvote 0
Nhân tiện bác Ba Tê đang online em hỏi thêm bác tý ở bài hôm trước cũng giống cái này: Khi dữ liệu gặp ô rỗng thì trả về rỗng và chạy tiếp ô tiếp theo
http://www.giaiphapexcel.com/forum/showthread.php?96769-Help-code-vba-tìm-kiếm-và-thay-thế/page3

Bạn tìm dòng nào có sArr=... thay bằng cái này thử xem có chạy không.
PHP:
sArr = .Range("A2", .Range("A65536").End(xlUp)).Value
 
Upvote 0
Bạn tìm dòng nào có sArr=... thay bằng cái này thử xem có chạy không.
PHP:
sArr = .Range("A2", .Range("A65536").End(xlUp)).Value
Chạy đã thay và chạy rất nuột bác ạ, chỉ mỗi tội nếu chỉ mỗi A2 có giá trị thì bị lỗi bác ạ
 

File đính kèm

Upvote 0
Chạy đã thay và chạy rất nuột bác ạ, chỉ mỗi tội nếu chỉ mỗi A2 có giá trị thì bị lỗi bác ạ

Chỉ có 1 dòng thì bạn xử thủ công đi. Tìm và thay thế làm gì cho "oải".
Tôi "chạy" với cái "nếu" của bạn rồi Từ đầu nói rõ dữ liệu có thể không có dòng nào hoặc nửa dòng, hoặc chỉ có 1 dòng...
 
Upvote 0
Chỉ có 1 dòng thì bạn xử thủ công đi. Tìm và thay thế làm gì cho "oải".
Tôi "chạy" với cái "nếu" của bạn rồi Từ đầu nói rõ dữ liệu có thể không có dòng nào hoặc nửa dòng, hoặc chỉ có 1 dòng...
Vâng ạ, cũng tại vì cái cột cần chuyển của em lấy dữ liệu từ địa chỉ khác nên em hơi cầu toàn tý bác ạ
 
Upvote 0
Web KT

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

Back
Top Bottom