tìm dữ liệu thỏa điều kiện và láy địa chỉ ô

Liên hệ QC

thuyyeu99

Trùm Nhiều Chuyện
Tham gia
6/6/08
Bài viết
1,729
Được thích
875
Nhờ các anh chị hướng dẫn em cách tìm dữ liệu có điều kiện và láy địa chỉ của ô thỏa điều kiện.

Ví dụ:

Em có sheet 1 chứa mã số (30 mã) và Sheet 2 cũng chứa mã số (25 mã), vậy mình có thể xác định được địa chỉ của các mã bên Sheet 1 mà bên Sheet 2 không có không.

thí dụ bên sheet 1 em có số từ 1 - 30 và bên sheet 2 em có số từ 1 - 25 như vậy bên Sheet 1 sẽ có 5 mã không có bên sheet 2 (từ 26 - 30). vậy mình có thể xác định được địa chỉ hay tô màu 5 ô bên sheet 1 khơng

Ví dụ đính kèm
 
thêm tập tin đính kèm

Cám ơn các anh chị
 
thêm tập tin đính kèm

Cám ơn các anh chị
Bạn dùng Conditional Formating đi
- Đăt name DS cho Sheet 2!A1:A25 (DS ='2'!$A$1:$A$25)
- Tại sheet 1, quét chọn A1:F5, vào menu Format\Conditional Formating và gõ công thức này:
=COUNTIF(DS,A1)=0
- Tô màu gì đó bạn muốn
 

File đính kèm

Cám ơn anh ndu96081631 nhiều dùng Conditional Formating thì ok very good

Có cách nào dùng VB được klhông anh tự File của em dữ liệu và công thức rất nhiều
 
Lần chỉnh sửa cuối:
Cám ơn anh ndu96081631 nhiều dùng Conditional Formating thì ok very good

Có cách nào dùng VB được klhông anh tự File của em dữ liệu và công thức rất nhiều
Đã làm bằng tay được thì đương nhiên dùng VBA là thừa sức
Có điều bạn muốn xuất dử liệu dạng ra sao? Tô màu? Hay xuất ra 1 vùng riêng?
 
Đại khái thế này được không?
PHP:
Sub Tim()
  Dim Clls As Range
  With Range(Sheet2.[A1], Sheet2.[A65536].End(xlUp))
    For Each Clls In Sheet1.Range("A1").CurrentRegion
      If .Find(Clls, Lookat:=xlWhole) Is Nothing Then
        Sheet1.Range("L65536").End(xlUp).Offset(1) = Clls
      End If
    Next
  End With
End Sub
Bạn tùy biến thêm nha!
 

File đính kèm

Cám ơn anh NDU. Có cách nào dùng VB được klhông anh tự File của em dữ liệu và công thức rất nhiều
Nếu vậy cần thêm dòng lệnh 2 & sửa tẹo các dòng 4 & 6. (Mà trong đó, việc đáng làm nhứt là sửa 4) Chúc thành công!

PHP:
Sub Tim()
  Dim Clls As Range
2  Sheet1.Select '<=|'
    With Range(Sheet2.[A1], Sheet2.[A65536].End(xlUp))
4      For Each Clls In Range([A1], [A65500].End(xlUp))
                If .Find(Clls, Lookat:=xlWhole) Is Nothing Then
6                     Range("L65536").End(xlUp).Offset(1) = Clls
          End If
      Next
    End With
End Sub
 
Nếu vậy cần thêm dòng lệnh 2 & sửa tẹo các dòng 4 & 6. (Mà trong đó, việc đáng làm nhứt là sửa 4) Chúc thành công!

PHP:
Sub Tim()
  Dim Clls As Range
2  Sheet1.Select '<=|'
    With Range(Sheet2.[A1], Sheet2.[A65536].End(xlUp))
4      For Each Clls In Range([A1], [A65500].End(xlUp))
                If .Find(Clls, Lookat:=xlWhole) Is Nothing Then
6                     Range("L65536").End(xlUp).Offset(1) = Clls
          End If
      Next
    End With
End Sub
Hỏng được sư phụ à! Vòng lập For quét toàn bộ dử liệu chứ không phải chỉ cột A
 
Em có đọc bài của Sa_DQ về .CurrentRegion nhưng chưa hiểu lắm mong anh giải thích giúp em được không ạh
 
Em có đọc bài của Sa_DQ về .CurrentRegion nhưng chưa hiểu lắm mong anh giải thích giúp em được không ạh
Nói thật đơn giản là thế này:
Range("C5").CurrentRegion
là tương đương với động tác: Chọn cell C5 rồi bấm tổ hợp phím Ctrl + Shift + * (dấu * nằm dưới số 8)
Bạn có sẳn dử liêu, cứ thí nghiệm xem sau khi bấm tổ hợp phím thì chúng Select cái gì ---> Từ đó suy ra vấn đề
 
Web KT

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

Back
Top Bottom