Thứ Năm, 18 Tháng Tư, 2024
Trang chủOfficeMicrosoft OfficeCách highlight hàng và cột của ô được chọn trong Excel

Cách highlight hàng và cột của ô được chọn trong Excel

Trong hướng dẫn này, bạn sẽ học được 3 cách khác nhau để highlight hàng và cột của một ô đã chọn trong Excel.

Khi sử dụng một bảng tính excel mới nhiều dữ liệu, đôi khi bạn không nhìn thấy con trỏ chuột của mình đang ở vị trí nào. Vậy để luôn biết chính xác con trỏ chuột của bạn đang ở đâu, hãy để excel tự động hightlight hàng và cột tại vị trí mà bạn click chuột và thay đổi mỗi khi bạn click chuột vào một ô khác.Trong bài viết này, chúng tôi sẽ hướng dẫn bạn thực hiện điều đó:

Tự động highlight hàng và cột của ô được chọn với VBA

Ví dụ này cho thấy cách bạn có thể đánh dấu cột và hàng đang hoạt động theo chương trình với VBA. Đối với điều này, chúng tôi sẽ sử dụng sự kiện SelectionChange của đối tượng Worksheet.

Viết code VBA

Đầu tiên, bạn xóa màu nền của tất cả các ô trên trang tính bằng cách đặt thuộc tính ColorIndex thành 0. Và sau đó, bạn đánh dấu toàn bộ hàng và cột của ô hiện hoạt bằng cách đặt thuộc tính ColorIndex của chúng thành số chỉ mục cho màu mà bạn muốn.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
 
    'Clear the color of all cells
    Cells.Interior.ColorIndex = 0
    With Target
        'Highlight row and column of the selected cell
        .EntireRow.Interior.ColorIndex = 28
        .EntireColumn.Interior.ColorIndex = 36
    End With
 
    Application.ScreenUpdating = True
End Sub

Tùy chỉnh code

Nếu bạn muốn tùy chỉnh code theo nhu cầu của mình, các mẹo nhỏ này có thể hữu ích:

  • Mã mẫu của chúng tôi sử dụng hai màu khác nhau được minh họa trong ảnh gif ở trên – Mã màu 28 cho hàng và 36 cho cột. Để thay đổi màu highlight, chỉ cần thay thế các màu đó bằng bất kỳ mã ColorIndex nào bạn muốn theo bảng mã màu dưới đây:
  • có thể sử dụng cùng một màu cho cả hàng và cột
  • Nếu bạn chỉ muốn hightlight hàng đang hoạt động, hãy xóa dòng sau: “.EntireColumn.Interior.ColorIndex = 28”
  • Nếu bạn chỉ muốn hightlight cột đang hoạt động, hãy xóa dòng sau: .EntireRow.Interior.ColorIndex = 36

Cách thêm code vào trang tính của bạn

Để mã có thể được thực thi trong một trang tính cụ thể, bạn cần phải chèn mã vào trình VPA code của trang tính đó. Để làm việc đó, hãy thực hiện các bước sau:

  1. Tại trang tính của bạn, Nhấn Alt + F11 để mở VBA editor.
  2. Trong menu Project phía bên trái, bạn sẽ thấy danh sách tất cả các file excel và sheet đang mở. Nếu bạn không nhìn thấy nó, hãy sử dụng phím tắt Ctrl + R để hiển thị cửa sổ Project Explorer.
  3. Tìm sheet excel mà bạn muốn thêm code rồi click đúp chuột vào nó. VD: Sheet 1.
  4. Dán mã ở trên vào cửa sổ Code ở bên phải.
  5. Save file đó lại
Highlight active row and column

Chú ý: Cách làm này sẽ có một số điểm hạn chế như sau:

  • Code trên sẽ xóa màu nền của tất cả các ô trong trang excel. Nếu bạn có bất kỳ ô màu nào, không sử dụng giải pháp này vì định dạng tùy chỉnh của bạn sẽ bị mất.
  • Việc thực thi mã này sẽ chặn chức năng hoàn tác trên trang tính và bạn sẽ không thể hoàn tác một hành động sai bằng cách nhấn Ctrl + Z.

Highlight hàng và cột của ô được chọn mà không dùng VBA

Một cách khác để hightlight hàng và cột của ô được chọn trong excel là sử dụng định dạng có điều kiện của Excel. Để thiết lập, hãy thực hiện các bước sau:

  1. Chọn tập dữ liệu của bạn để làm nổi bật.
  2. Trên tab Home, nhấn vào Conditionnal Formatting, rồi chọn New Rule.
  1. Trong hộp thoại New Formatting Rule, hãy chọn Use a formula to determine which cells to format.
  2. Trong phần Format values where this formula is true box, hãy nhập một trong các công thức sau:
    • Để highlight hàng: =CELL(“row”)=ROW()
    • Để highlight cột: =CELL(“col”)=COLUMN()
    • Để highlight cả hàng và cột: =OR(CELL(“row”)=ROW(), CELL(“col”)= COLUMN())
  3. Tất cả các công thức sử dụng hàm CELL để trả về số hàng / cột của ô đã chọn.
  4. Nhấp vào nút Format, chuyển sang tab Fill và chọn màu bạn thích.
  5. Bấm OK hai lần để hoàn thành
Conditional formatting to highlight active row and column

Trong ví dụ này, chúng tôi đã chọn sử dụng công thức OR để highlight cả cột và hàng với cùng một màu

Chú ý:

Giải pháp này hoạt động không được tốt như giải pháp VBA vì nó yêu cầu bạn phải reload lại trang một cách thủ công (bằng cách nhấn phím F9) để cập nhật lại màu khi có sự thay đổi vị trí nhấn chuột. Theo mặc định, Excel chỉ tính toán lại một trang tính sau khi nhập dữ liệu mới hoặc chỉnh sửa dữ liệu hiện có, nhưng không tính toán lại khi lựa chọn của chuột thay đổi. Vì vậy, bạn chọn một ô khác – không có gì xảy ra. Khi bạn nhấn F9 – trang tính sẽ được làm mới, công thức được tính toán lại và phần hightlight mới được cập nhật.

Để tự động tính toán lại trang tính bất cứ khi nào sự kiện SelectionChange xảy ra, bạn có thể thêm một code VBA đơn giản như sau vào trong mô-đun Code của trang tính:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Target.Calculate
End Sub

Code buộc phạm vi/ô đã chọn phải tính toán lại. Do đó buộc hàm CELL phải cập nhật và định dạng có điều kiện để phản ánh thay đổi.

Chú ý: Cách này không hoạt động trên excel từ 2003 hoặc cũ hơn

Bài viết liên quan

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

Bài viết nổi bật

Ý kiến gần đây