Nhờ giúp đỡ code VBA so sánh giá trị 2 cột rồi đánh đổi màu

Liên hệ QC

TgiaiDungLe

Thành viên chính thức
Tham gia
3/4/19
Bài viết
52
Được thích
9
Mình có 1 file excel, trong file excel có 2 cột : Cột A và Cột B

AB
1​
0​
2​
5​
3​
9​
4​
4​
5​
5​
6​
3​
7​
4​
8​
9​
9​
6​
10​
8​

Tương ứng với Cột A thì có các giá trị tương ứng và Cột B cũng vậy.
Mình mong muốn viết 1 đoạn code VBA so sánh giá trị cột A và cột B, ví dụ nếu giá trị nào của Cột A > Cột B thì đánh màu đỏ lên, và để thực hiện việc bấm đỏ sẽ phải nhấn nút với 1 hàm VBA để so sánh giá trị.
Rất mong được mọi người hỗ trợ ạ.
 

File đính kèm

  • Demo.xlsx
    8.8 KB · Đọc: 14
Mình có 1 file excel, trong file excel có 2 cột : Cột A và Cột B

AB
1​
0​
2​
5​
3​
9​
4​
4​
5​
5​
6​
3​
7​
4​
8​
9​
9​
6​
10​
8​

Tương ứng với Cột A thì có các giá trị tương ứng và Cột B cũng vậy.
Mình mong muốn viết 1 đoạn code VBA so sánh giá trị cột A và cột B, ví dụ nếu giá trị nào của Cột A > Cột B thì đánh màu đỏ lên, và để thực hiện việc bấm đỏ sẽ phải nhấn nút với 1 hàm VBA để so sánh giá trị.
Rất mong được mọi người hỗ trợ ạ.
Công cụ Conditional Formating của Excel đã thừa sức giải quyết bài này rồi, cần gì đến VBA
 
Upvote 0
Mình có 1 file excel, trong file excel có 2 cột : Cột A và Cột B

AB
1​
0​
2​
5​
3​
9​
4​
4​
5​
5​
6​
3​
7​
4​
8​
9​
9​
6​
10​
8​

Tương ứng với Cột A thì có các giá trị tương ứng và Cột B cũng vậy.
Mình mong muốn viết 1 đoạn code VBA so sánh giá trị cột A và cột B, ví dụ nếu giá trị nào của Cột A > Cột B thì đánh màu đỏ lên, và để thực hiện việc bấm đỏ sẽ phải nhấn nút với 1 hàm VBA để so sánh giá trị.
Rất mong được mọi người hỗ trợ ạ.
Bạn thử:
PHP:
Sub Test()
   Dim Cl
   For Each Cl In Range("B3:B" & Cells(Rows.Count, 2).End(xlUp))
      If Cl.Value > Cl.Offset(, 1).Value Then Cl.Resize(, 2).Interior.ColorIndex = 6
   Next Cl
End Sub
 
Upvote 0
Bạn thử:
PHP:
Sub Test()
   Dim Cl
   For Each Cl In Range("B3:B" & Cells(Rows.Count, 2).End(xlUp))
      If Cl.Value > Cl.Offset(, 1).Value Then Cl.Resize(, 2).Interior.ColorIndex = 6
   Next Cl
End Sub
Nếu có it dữ liệu thì so sánh trực tiếp trên cells, nhưng nếu có nhiều dữ liệu thì mình nên hốt lên mảng để xử lý sẽ nhanh hơn
..................
Nhân tiện cho chủ thớt tham khảo luôn
Mã:
Sub To_Mau()
Dim sArr(), i As Long
'3 la dong bat dau, 2 la cot B. Thay doi khi can thiet
sArr = Range(Cells(3, 2), Cells(65536, 2).End(3)).Resize(, 2).Value
Range(Cells(3, 2), Cells(65536, 2).End(3)).Resize(, 2).Interior.ColorIndex = xlNone
For i = 1 To UBound(sArr)
   If sArr(i, 1) > sArr(i, 2) Then
      Cells(i + 2, 2).Interior.ColorIndex = 3
   End If
Next
End Sub
 
Upvote 0
Mình viết cho ng khác dùng, và mong muốn người ko rành excel chỉ với 1 nút bấm cũng có thể làm được. Bác thỏa mãn chưa ?
Bài viết đã đc giải quyết! Vấn để mình gặp đã xử lý được. Chúc mọi người thứ 2 an lành.
Đúng là VBA chỉ cần bấm nút là xong còn CF thì khỏi cần bấm nút nào cả :))
 
Upvote 0
Web KT
Back
Top Bottom