Một ngày xấu trời nào đó bạn phải làm việc với 1 bảng tính hàng nghìn dòng, hàng chục cột và nó khiến bạn hoa mắt luôn. Ức chế nhất là bạn không biết vị trí bạn đang chọn là dòng nào dù excel có hỗ trợ bạn nhưng bạn muốn trực quan hơn, dễ nhìn hơn. Hãy để Học Excel Online giúp bạn một thủ thuật nhỏ để giải tỏa sự ức chế này nhé:
=> Ứng dụng VBA để tự động tô màu dòng của ô được chọn trong bảng.
Chúng ta cùng tìm hiểu thông qua ví dụ sau nhé:
Cho bảng tính:
Bước 1: Thực hiện ghi macro với thao tác tô màu nền tại vị trí bất kỳ đang chọn
Đây là câu lệnh chúng ta thu được:
Ở đây các câu lệnh Select chúng ta không cần quan tâm, vì mục tiêu là việc tô màu vào vị trí chúng ta chọn, nên chúng ta có thể chỉ ra trong VBA rõ nội dung này.
Điều cần quan tâm là câu lệnh tô màu nền.
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
Bước 2: Tiếp theo chúng ta ghi lại Macro cho thao tác bỏ tô màu nền (No Fill)
Câu lệnh bỏ tô màu nền trong VBA thu được như sau:
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Bước 3: Tạo sự kiện SelectionChange trong Worksheet
Trong cửa sổ VBA, click đúp vào sheet cần áp dụng, chọn sự kiện SelectionChange
Bước 4: Xây dựng quy trình hoạt động cho lệnh VBA
Trình tự như sau:
Ở đây chúng ta có thể giới hạn bảng tính để áp dụng thử với vùng A5:M10
Câu lệnh VBA sẽ là:
Các bạn lưu ý đối tượng Target ở đây là đối tượng được quy định sẵn của Excel, được hiểu là vị trí được chọn trong bảng tính.
Tùy theo độ rộng của bảng tính mà chúng ta thiết lập giới hạn cho phù hợp
Tương tự như vậy các bạn có thể thực hiện thêm việc tô màu cho cột của dòng được chọn.
Quy trình đúng phải là Bỏ tô màu cả bảng trước, sau đó mới tô màu vào vị trí được chọn.
Chúc các bạn thành công!