Có thể bạn quan tâm: Gộp Nhiều Sheet Trong 1 File Excel Vào 1 Sheet
Giới thiệu
Khi làm việc với bảng tính lớn trong Microsoft Excel, việc nhận diện Kasn ô đang được chọn có thể trở nên khá khó khăn. Nếu bạn chỉ nhìn vào một ô nhất định, bạn sẽ dễ dàng bỏ lỡ các thông tin quan trọng nằm trong cùng hàng hoặc cột. Để cải thiện trải nghiệm người dùng và giảm thiểu sai sót, nhiều người thường muốn làm nổi bật cả dòng và cột của ô đang được chọn. Trong bài viết này, chúng ta sẽ đi sâu vào các phương pháp khác nhau để thực hiện việc này trong Excel, từ cách đơn giản nhất sử dụng Conditional Formatting, đến những giải pháp mạnh mẽ hơn với VBA (Visual Basic for Applications). Bạn sẽ học được cách thiết lập một bảng tính dễ đọc, trực quan và tối ưu hiệu suất.
Có thể bạn quan tâm: Giấy Nộp Tiền Vào Ngân Sách Nhà Nước – Hướng Dẫn Chi Tiết Sử Dụng File Excel
Tại sao cần làm nổi bật dòng và cột khi ô được chọn?
- Tăng tính trực quan: Khi một ô được chọn, việc kèm theo dòng và cột tương ứng giúp người dùng nhanh chóng nhận biết vị trí dữ liệu trong bảng.
- Giảm lỗi: Khi dữ liệu được nhập vào một bảng lớn, việc làm nổi bật dòng/cột giúp tránh nhập sai hàng hoặc cột.
- Phân tích dữ liệu: Khi thực hiện phân tích dữ liệu, ta thường cần xem xét toàn bộ dòng hoặc cột để hiểu mối quan hệ giữa cácанг.
- Truyền đạt: Khi chia sẻ bảng tính với đồng nghiệp, một ô được làm nổi bật linh hoạt giúp họ nhanh chóng nắm bắt nội dung.
Có thể bạn quan tâm: File Quản Lý Xuất Nhập Tồn Hàng Hóa Trên Excel: Hướng Dẫn Chi Tiết Và Các Headphones Công Cụ Hữu Ích
Phương pháp 1: Sử dụng Conditional Formatting
Điều kiện định dạng là một công cụ mạnh mẽ trong Excel cho phép ta áp dụng màu sắc, kiểu chữ và các hiệu ứng khác tùy theo giá trị ô. Bằng cách kết hợp Conditional Formatting với một công thức tham chiếu đến ô hiện tại, ta có thể làm nổi bật cả dòng và cột.
Bước 1: Chọn vùng dữ liệu
Giả sử bảng dữ liệu của bạn nằm trong vùng A1:D20. Hãy click vào ô A1 và kéo chọn đến D20.
Bước 2: Mở Conditional Formatting
- Trên thanh Ribbon, chọn Home > Conditional Formatting > New Rule.
Bước 3: Chọn “Use a formula to determine which cells to format”
- Trong cửa sổ New Formatting Rule, chọn Use a formula to determine which cells to format.
Bước 4: Nhập công thức
Công thức cần phải trả về TRUE cho tất cả các ô trong cùng một hàng hoặc cột với ô đang được chọn.
Đối với Excel 2026 và các phiên bản trước
Nếu Excel không hỗ тээрэм trực tiếp tham chiếu sang ô đang được chọn, bạn có thể dùng một ô tạm thời (đặt tên ô) hoặc kết hợp với GET.CELL cùng với INDIRECT. Tuy nhiên, cách đơn giản nhất là sử dụng tính năng Name Manager để định nghĩa một tên công thức.
- Định nghĩa tên: Chọn Formulas > Name Manager > New.
- Đặt tên:
CurrentCell. - Trong trường Refers to nhập:
=CELL("address",INDIRECT("rc",FALSE)). - Nhấn OK.
Bây giờ, bạn có thể sử dụng tên CurrentCell trong Conditional Formatting.
Sử dụng công thức:
=OR(ROW()=ROW(CurrentCell), COLUMN()=COLUMN(CurrentCell))
Công thức này sẽ trả về TRUE nếu ôске ở cùng hàng hoặc cột với ô đang được chọn.
Đối với Excel 365 (Dynamic arrays)
Excel 365 cung cấp hàm CHOOSECOLS, CHOOSECOLUMNS, CHOOSEROWS. Tuy nhiên, để làm cho công thức trơn tru hơn, ta có thể sử dụng hàm GET.CELL. Tạo một tên định nghĩa:
- Tên:
CurrentCell - Định nghĩa:
=GET.CELL(48,INDIRECT("rc",FALSE))(48 là burocratic để lấy địa chỉ ô).
Sau đó, công thức trong Conditional Formatting:
=OR(ROW()=ROW(CurrentCell), COLUMN()=COLUMN(CurrentCell))
Bước 5: Định dạng
Chọn màu nền, màu chữ hoặc đường viền bạn muốn. Ví dụ: nền màu xám nhạt, chữ đậm.
Bước 6: Hoàn thành
Nhấn OK. Bây giờ, khi bạn di chuyển chuột hoặc chọn ô bất kỳ trong vùng, toàn bộ dòng và cột tương ứng sẽ được làm nổi bật.
Lưu ý
- Khi di chuyển sang một ô nằm ngoài vùng đã định nghĩa, Conditional Formatting sẽ không áp dụng. Bạn cần mở rộng vùng nếu cần.
- Với bảng dữ liệu lớn, công thức này có thể làm chậm nhanh chóng. Hãy thử tối ưu bằng cách giới hạn vùng áp dụng.
Phương pháp 2: VBA (OnSelectionChange)
Nếu bạn muốn một giải pháp linh hoạt hơn hoặc muốn làm nổi bật một vùng lớn mà Conditional Formatting không đáp ứng hiệu suất, hãy sử dụng VBA. Dưới đây là một đoạn mã đơn giản thực hiện nhiệm vụ này.
Bước 1: Mở cửa sổ VBA
- Nhấn
ALT + F11để mở trình chỉnh sửa VBA.
Bước 2: Chèn mã vào Worksheet
- Trong Project Explorer, tìm sheet bạn muốn áp dụng (ví dụ
Sheet1) và double-click vào nó. Màn hình code sẽ mở ra.
Bước 3: Dán mã sau vào
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rng As Range Dim ws As Worksheet Set ws = Me ' Định nghĩa vùng dữ liệu cần làm nổi bật Set rng = ws.Range("A1:D20") ' Thay đổi theo nhu cầu ' Xóa định dạng cũ ws.Cells.Interior.ColorIndex = xlNone ws.Cells.Font.ColorIndex = xlAutomatic ' Nếu ô nằm trong vùng If Not Intersect(Target, rng) Is Nothing Then Dim rowHighlight As Range Dim colHighlight As Range ' Làm nổi bật dòng Set rowHighlight = rng.Rows(Target.Row - rng.Row + 1) rowHighlight.Interior.Color = RGB(255, 255, 200) ' Màu vàng nhạt ' Làm nổi bật cột ಬೆಳಳಾ Set colHighlight = rng.Columns(Target.Column - rng.Column + 1) colHighlight.Interior.Color = RGB(255, 255, 200) End If
End Sub
Bước 4: Lưu và đóng

Có thể bạn quan tâm: Gỡ Bỏ Những Liên Kết Không Tồn Tại Trong Excel: Hướng Dẫn Đầy Đủ Và Thực Hành
- Nhấn
CTRL + Sđể lưu workbook dưới dạng.xlsm(macro-enabled). - Đóng cửa sổ VBA.
Bước 5: Kiểm tra
Mở lại workbook, chọn bất kỳ ô nào trong vùng A1:D20. Bạn sẽ thấy dòng và cột tương ứng được làm nổi bật vàng nhạt. Khi di chuyển ra ngoài vùng, màu sắc sẽ tự động xóa.
Tùy chỉnh và mở rộng
- Tạo màu nền tùy chỉnh: Thay đổi giá trị
RGB(255, 255, 200)thành màu bạn muốn. - Định nghĩa vùng linh động: Sử dụng
UsedRangehoặcCurrentRegionđể tự động lấy vùng dữ liệu. - Xóa định dạng cũ: Nếu bạn muốn giữ màu nền cũ khi chọn ô mới, bỏ dòng
ws.Cells.Interior.ColorIndex = xlNone.
Lưu ý
- Mã VBA sẽ không hoạt động trong chế độ bảo mật cao. Hãy chắc chắn rằng macro được kích hoạt.
- Khi workbook được chia sẻ, người nhận cần bật macro để sử dụng tính năng này.
- Đối với bảng dữ liệu lớn (thousands cells), mã này vẫn chạy nhanh, nhưng cần kiểm tra hiệu suất.
Phương pháp 3: Sử dụng tính năng “Table” và “Conditional Formatting” kết hợp
Excel cung cấp một cách tiếp cận dễ dàng hơn khi bạn đặt dữ liệu vào một Table (Bảng). Khi một ô trong Table được chọn, toàn bộ hàng trong Table sẽ được làm nổi bật một cách tự nhiên. Tuy nhiên, việc làm nổi bật cả cột yêu cầu một chút điều chỉnh.
Bước 1: Chuyển vùng dữ liệu thành Table
- Chọn vùng
A1:D20, nhấnCTRL + T. - Đảm bảo “My table has headers” được chọn nếu có header.
- Nhấn OK.
Bước 2: Đặt Conditional Formatting cho cột
- Chọn cột bạn muốn làm nổi bật khi ô được chọn (ví dụ cột B).
- Trên Ribbon, chọn Home > Conditional Formatting > New Rule.
- Chọn “Use a formula to determine which cells to format”.
- Công thức:
=ROW() toate = ROW(OFFSET(INDIRECT("rc",FALSE),0,0))
- Định dạng: Màu nền hoặc đường viền.
Bước 3: Làm nổi bật hàng
- Khi một ô trong Table được chọn, hàng của nó sẽ được làm nổi bật tự động nếu bạn chọn “Highlight Row” trong Conditional Formatting, hoặc bạn có thể dùng công thức tương tự như trong Phương pháp 1.
Ưu điểm
- Dễ sử dụng: Không cần viết VBA.
- Tự động: Table tự động mở rộng khi thêm dữ liệu.
Nhược điểm
- Không linh động: Nếu dữ liệu không nằm trong Table, bạn phải chuyển lại.
- Giới hạn: Conditional Formatting trong Table không hỗ trợ tham chiếu trực tiếp đến ô được chọn.
Tùy chỉnh màu sắc và hiệu ứng
Bạn có thể tạo một bảng màu hoặc sử dụng màu sắc có sẵn trong Excel. Dưới đây là một số gợi ý:
| Màu | Mã HEX | Mã RGB |
|---|---|---|
| Vàng nhạt | #FFFFC0 | RGB(255,255,192) |
| Xanh nhạt | #E0F7FA | RGB(224,247,250) |
| Xám nhạt | #F5F5F5 | RGB(245,245,245) |
| Đỏ nhạt | #FFCDD2 | RGB(255,205,210) |
Bạn có thể đặt màu nền cho dòng và cột bằng cách sử dụng Interior.Color trong VBA hoặc chọn màu trong Conditional Formatting.
Đặt màu nền cho vùng dữ liệu
Bạn cũng có thể đặt màu nền cho toàn bộ vùng dữ liệu (không phải chỉ khi ô được chọn) để tăng tính trực quan. Ví dụ:
rng.Interior.Color = RGB(240, 240, 240)
Định dạng chữ đậm
Trong VBA, để làm chữ đậm:
rng.Font.Bold = True
Hiệu suất và tối ưu
Khi làm việc với bảng dữ liệu lớn, hiệu suất là yếu tố quan trọng. Dưới đây là một số lời khuyên:
- Giới hạn vùng áp dụng: Đừng áp dụng Conditional Formatting cho toàn bộ sheet. Chỉ chọn vùng cần círculo.
- Sử dụng
Application.ScreenUpdating = False: Khi chạy macro, tắt cập nhật màn hình để giảm thời gian xử lý. - Dùng
Withblock: Giảm số lần tham chiếu đến đối tượng. - Kết hợp
Intersect: Tránh xử lý khi ô không nằm trong vùng.
Ví dụ:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rng As Range Set rng = Me.Range("A1:D20") If Intersect(Target, rng) Is Nothing Then Exit Sub Application.ScreenUpdating = False ' Thực hiện các thao tác Application.ScreenUpdating = True
End Sub
Hạn chế và cảnh báo
- Macro Security: Khi chia sẻ workbook, người nhận phải bật macro. Nếu không, tính năng sẽ không hoạt động.
- Định dạng Conditional: Một số công thức phức tạp có thể làm chậm Excel, đặc biệt là khi áp dụng cho hàng nghìn ô.
- Excel Online: Một số tính năng VBA không được hỗ trợ trong Excel Online.
- Định dạngambuco: Khi áp dụng nhiều Conditional Formatting, màu sắc có thể trùng lặp hoặc không rõ ràng.
Kết luận
Việc làm nổi bật dòng và cột khi ô được chọn trong Excel là một kỹ thuật hữu ích giúp người dùng nhanh chóng nhận diện dữ liệu, giảm lỗi và cải thiện khả năng phân tích. Bạn có thể chọn phương pháp phù hợp nhất với nhu cầu của mình:
- Conditional Formatting.Transactional: Dễ dàng, không cần lập trình, phùége với dữ liệu vừa phải.
- VBA OnSelectionChange: Linhulet, mạnh mẽ, thích hợp cho bảng dữ liệu lớn và tùy chỉnh sâu.
- Table + Conditional Formatting: Đơn giản và tự động cho các bảng dữ liệu có cấu trúc.
Bất kỳ phương pháp nào bạn chọn, hãy chú ý tới hiệu suất và tính bảo mật của workbook. Thử nghiệm với các ví dụ thực tế, điều chỉnh màu sắc và kiểu dáng cho phù hợp với quy trình làm việc của bạn. Khi đã thành thạo, bạn sẽ thấy rằng việc làm nổi bật dòng và cột không chỉ giúp bảng tính trở nên trực quan hơn mà còn giúp bạn làm việc hiệu quả hơn, giảm thiểu sai sót avoidance. Happy Excel-ing!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
