Hướng dẫn cách so sánh thời gian trong Excel bằng lệnh VBA
Chào các bạn, Trong bài học này chúng ta tìm hiểu thêm về VBA trong việc sử dụng VBA để tự động so sánh các giá trị thời gian. Chúng ta tìm hiểu nội dung này thông qua một số ví dụ sau: Yêu cầu 1 : Cho bảng dữ liệu sau, sử dụng nút lệnh để tự động so sánh và tô màu các giá trị ở cột A mà nhỏ ...
Chào các bạn,
Trong bài học này chúng ta tìm hiểu thêm về VBA trong việc sử dụng VBA để tự động so sánh các giá trị thời gian.
Chúng ta tìm hiểu nội dung này thông qua một số ví dụ sau:
Yêu cầu 1: Cho bảng dữ liệu sau, sử dụng nút lệnh để tự động so sánh và tô màu các giá trị ở cột A mà nhỏ hơn giá trị được so sánh ở ô C1
Cách làm:
Trước hết chúng ta cần phân tích được trình tự thực hiện của yêu cầu như sau:
- So sánh từng giá trị ở vùng A2:A9 với ô C1
- Nếu giá trị nào ở vùng A2:A9 mà nhỏ hơn giá trị ở C1 => Tô màu (ví dụ là màu đỏ)
- Nếu giá trị nào ở vùng A2:A9 mà lớn hơn giá trị ở C1 => Không làm gì, bỏ qua
Trình tự này thực hiện trong VBA như sau:
- Tạo vòng lặp cho vùng A2 đến A9
- Mỗi lần lặp sẽ so sánh từng giá trị từ A2 đến A9 (tổng cộng có 8 lần lặp) với C1
- Tô màu giá trị thỏa mãn điều kiện
- Kết thúc vòng lặp
- Gán Macro vào nút lệnh
Chúng ta thực hiện từng bước như sau:
Bước 1: Mở cửa sổ VBA, tạo 1 Module
Click chuột phải vào cửa sổ Project > Chọn Insert > Module
Trong Module này chúng ta tạo 1 sub có tên là So_Sanh_Ngay
Bước 2: Thực hiện viết Code vòng lặp
Trong Sub So_Sanh_Ngay chúng ta viết các nội dung sau:
Gán 1 biến bất kỳ, ví dụ là chữ i (gọi là biến i), biến này sẽ sử dụng các giá trị là số tự nhiên
Dim i as Integer
Đưa biến i vào vòng lặp như sau:
For i = 2 to 9
Next i
Biến i chạy từ 2 đến 9, tương ứng với số dòng ở vùng A2:A9
Bước 3: Thực hiện so sánh các giá trị trong vòng lặp
Trong vòng lặp, chúng ta viết code so sánh như sau:
If Cells(i, 1).value < Cells(1, 3).value then
Cells(i, 1).Font.Color = vbRed
End if
Câu lệnh trên được hiểu là: Nếu giá trị ở cột A, dòng i nhỏ hơn giá trị ở ô C1 (dòng 1, cột 3) thì ô ở cột A, dòng i đó sẽ được tô màu đỏ
Toàn bộ Macro như sau:
Bước 4: gán Macro vào nút lệnh
Click chuột phải vào nút lệnh, chọn Assign Macro
Chọn Macro So_Sanh_Ngay để gán vào nút lệnh
Bây giờ chúng ta click vào nút lệnh và xem kết quả nhé: