Hỏi cách để khi chọn 1 cell thì cả row và column đều đổi màu

Liên hệ QC

nonut

Thành viên chính thức
Tham gia
3/6/10
Bài viết
60
Được thích
17
Dear các bác,

Em làm việc với 1 file excel có rất nhiều dòng và cột. Nhìn rất rối mắt khi mà em phải dò xem cái cell em chọn nó ứng với tên khách hàng nào.

Có cách nào để khi em click vào 1 cell bất kỳ, cả row và column đó đều phát sáng lên hoặc tối đi ko ạ?
(Khi em chuyển sang Cell khác thì cả dòng và cột của cell cũ trở lại bình thường, dòng và cột của cell mới lại có màu phát sáng hoặc tối đi.)
 
Dear các bác,

Em làm việc với 1 file excel có rất nhiều dòng và cột. Nhìn rất rối mắt khi mà em phải dò xem cái cell em chọn nó ứng với tên khách hàng nào.

Có cách nào để khi em click vào 1 cell bất kỳ, cả row và column đó đều phát sáng lên hoặc tối đi ko ạ?
(Khi em chuyển sang Cell khác thì cả dòng và cột của cell cũ trở lại bình thường, dòng và cột của cell mới lại có màu phát sáng hoặc tối đi.)
- Quét chọn vùng dữ liệu
- Vào menu Format\Conditional Formating và gò vào công thức
=OR(ROW()=CELL("row"),COLUMN()=CELL("Col"))

untitled.JPG

- Tô màu gì đó tùy ý
------------------------------
Giờ thì mỗi khi chọn 1 cell rồi bấm F9, sẽ thấy dòng và cột đều đổi màu
Muốn khỏi bấm F9 (tự động), ta thêm đoạn code này vào Thisworkbook
PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  ThisWorkbook.Names.Add String(200, "z"), "=1"
  ThisWorkbook.Names(String(200, "z")).Delete
End Sub
pencil.png
 
Lần chỉnh sửa cuối:
hic, cám ơn bác nhiều lắm lắm. Cao thủ!
 
Bác ơi, giúp em thêm 1 vụ gần giống với.

Em cần highlight 1 vài ô trong bảng theo dõi công nợ (tên công ty nợ, ngày đáo hạn nợ và số dư nợ)

Khi số phải thu = 0 ==> tô màu xanh lá cây
Khi số phải thu > 0 ==> tô màu đỏ

Bác giúp em nốt nhé. Cám ơn bác trước ạ.
 
Bác ơi, giúp em thêm 1 vụ gần giống với.

Em cần highlight 1 vài ô trong bảng theo dõi công nợ (tên công ty nợ, ngày đáo hạn nợ và số dư nợ)

Khi số phải thu = 0 ==> tô màu xanh lá cây
Khi số phải thu > 0 ==> tô màu đỏ

Bác giúp em nốt nhé. Cám ơn bác trước ạ.
Bạn chỉ nói mà không có file thì làm sao mà hiểu đây?
Đưa 1 ít dữ liệu lên đây nhé (không cần nguyên file)
 
Đây bác ạ

Em giải thích thêm chút:

Nếu cột E có: "đã xong" thì A và C đều màu xanh
Nếu cột E >0: thì A và C đều màu đỏ
Nếu hôm nay quá ngày đáo hạn thì A và C thành màu tím

Cám ơn bác.
 

File đính kèm

  • Theo doi cong no.xlsx
    10.2 KB · Đọc: 36
Đây bác ạ

Em giải thích thêm chút:

Nếu cột E có: "đã xong" thì A và C đều màu xanh
Nếu cột E >0: thì A và C đều màu đỏ
Nếu hôm nay quá ngày đáo hạn thì A và C thành màu tím

Cám ơn bác.
Conditional Formating bình thường thôi mà bạn
 

File đính kèm

  • Theo doi cong no.xlsx
    10 KB · Đọc: 60
- Quét chọn vùng dữ liệu
- Vào menu Format\Conditional Formating và gò vào công thức
=OR(ROW()=CELL("row"),COLUMN()=CELL("Col"))

- Tô màu gì đó tùy ý
------------------------------
Giờ thì mỗi khi chọn 1 cell rồi bấm F9, sẽ thấy dòng và cột đều đổi màu
Muốn khỏi bấm F9 (tự động), ta thêm đoạn code này vào Thisworkbook
PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  ThisWorkbook.Names.Add String(200, "z"), "=1"
  ThisWorkbook.Names(String(200, "z")).Delete
End Sub
pencil.png
Hình như vẫn chưa ổn bác ndu ah.
Sau khi nhập dữ liệu vào 1 cell nào đó thì sau đó chọn lại các vùng được đánh dấu sẽ bị đứt đoạn
Net dut.JPG
 

File đính kèm

  • HighLight_1.xls
    19.5 KB · Đọc: 158

File đính kèm

  • Hil2.xls
    23.5 KB · Đọc: 51
Bác xem giúp file này là do đâu
Hình như phải thêm thủ tục vào format cell rồi bỏ hết đường border mới được?
Tôi cũng chẳng biết nó bị thế là do nguyên nhân gì, nhưng tôi thí nghiệm thế này:
- Quét chọn vùng dữ liệu (vùng đã tô màu có điều kiện)
- Tô màu cho vùng chọn với màu sắc tùy ý (ví dụ là màu vàng)
- Sau đó hủy tô màu (No Fill) ở chính vùng này
===> Thế là hết bị ngay!
 
Bác xem giúp file này là do đâu
Hình như phải thêm thủ tục vào format cell rồi bỏ hết đường border mới được?
Bạn sửa code lại như thế này:
PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.ScreenUpdating = True
End Sub
Theo tôi, nếu bảng tính của bạn không có tô màu gì hết thì nên làm như sau. Code thì code hết luôn.
Tạo Một name ToMau và copy code này vào Workbook. Nếu cần thì ẩn name ToMau luôn.
PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    Union([ToMau].EntireRow, [ToMau].EntireColumn).Interior.Pattern = xlNone
    ActiveWorkbook.Names("ToMau").RefersTo = ActiveCell
    Union([ToMau].EntireRow, [ToMau].EntireColumn).Interior.Color = 65535
End Sub
Chú ý: Nếu bảng tính của bạn có tô màu thì khi sử dụng Code này các màu sẽ bị xóa khi bạn chọn qua ô cùng dòng hoặc cột với nó.

Cái này có thể sử dụng trên tất cả các sheet trong workbook. Sử dụng Conditional Formatting ở quá nhiều cells sẽ làm ảnh hưởng đến tốc độ của file.
Đây là file ví dụ.
 

File đính kèm

  • GPE.xls
    52.5 KB · Đọc: 83
Lần chỉnh sửa cuối:
Bác ơi, đổi giúp em tẹo. Cái chuyển màu cả hàng và cột của bác làm nặng máy kinh khủng.

Bác chuyển code để sao mà chỉ các cột trở lên trên và các hàng ngang về phía trái đổi màu thôi, các ô bên dưới và các ô bên phải vẫn giữ nguyên màu giúp em với.
 
Bác ơi, đổi giúp em tẹo. Cái chuyển màu cả hàng và cột của bác làm nặng máy kinh khủng.

Bác chuyển code để sao mà chỉ các cột trở lên trên và các hàng ngang về phía trái đổi màu thôi, các ô bên dưới và các ô bên phải vẫn giữ nguyên màu giúp em với.

Các bạn tham khảo cái này nhé. Đọc kỹ bài giới thiệu các bạn sẽ có thêm những tuỳ chọn phong phú.
http://www.bluesofts.net/Products/AddIns/GridHighLighter/Index.htm
 
Web KT
Back
Top Bottom