Cách tô màu cho 1 ô tại vị trí của con chuột trong Excel. (5 người xem)

  • Thread starter Thread starter quikt81
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

quikt81

Thành viên mới
Tham gia
20/3/09
Bài viết
16
Được thích
3
Hi ! Các bạn nào biết cách tô màu 1 ô trong Excel không vậy? Trong Excel khi ta di chuyển con chuột đến 1 ô bất kỳ, thì tại vị trí ô đó sẽ được đánh dấu chọn bằng 01 màu bất kỳ nào đó. Trong Excel có công cụ hỗ trợ sẵn việc này, hay ta phải viết 1 đoạn mã lập trình. Các bạn nào biết giúp mình với . Thanks !
 
Hi ! Các bạn nào biết cách tô màu 1 ô trong Excel không vậy? Trong Excel khi ta di chuyển con chuột đến 1 ô bất kỳ, thì tại vị trí ô đó sẽ được đánh dấu chọn bằng 01 màu bất kỳ nào đó. Trong Excel có công cụ hỗ trợ sẵn việc này, hay ta phải viết 1 đoạn mã lập trình. Các bạn nào biết giúp mình với . Thanks !
bạn xem VD minh họa sau :
PHP:
Sub worksheet_selectionchange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
Columns(Target.Column).Interior.ColorIndex = 3
Rows(Target.Row).Interior.ColorIndex = 3
Target.Interior.ColorIndex = 5
End Sub
 

File đính kèm

Hi ! Các bạn nào biết cách tô màu 1 ô trong Excel không vậy? Trong Excel khi ta di chuyển con chuột đến 1 ô bất kỳ, thì tại vị trí ô đó sẽ được đánh dấu chọn bằng 01 màu bất kỳ nào đó. Trong Excel có công cụ hỗ trợ sẵn việc này, hay ta phải viết 1 đoạn mã lập trình. Các bạn nào biết giúp mình với . Thanks !
Công cụ thì hình như là không có. Còn Macro thì tôi không biết được hay không vì tôi thấy không có sự kiện nào cho Mouse Move trên Worksheet cả.

Hoangdanh xem lại. Ở đây là di chuyển con chuột chứ không phải là chọn ô nhé.
 
Công cụ thì hình như là không có. Còn Macro thì tôi không biết được hay không vì tôi thấy không có sự kiện nào cho Mouse Move trên Worksheet cả.

Hoangdanh xem lại. Ở đây là di chuyển con chuột chứ không phải là chọn ô nhé.

Mình nghĩ là chắc là câu hỏi của bạn ấy cũng đúng với suy đoán của mình. Chứ rê con chuột đến đâu mà tô đến đó thì có tác dụng gì nhỉ.

Nhưng dù sao cũng chỉ là đoán.
 
thanks! Nhưng mình chỉ tô màu tại vị trí của ô con chuột mà thôi , bạn làm đúng rồi, nhưng mình ko cần tô màu cho 1 dòng và 1 cột như vậy
 
Mình nghĩ là chắc là câu hỏi của bạn ấy cũng đúng với suy đoán của mình. Chứ rê con chuột đến đâu mà tô đến đó thì có tác dụng gì nhỉ.

Nhưng dù sao cũng chỉ là đoán.
Để những người mắt kém biết con chuột đang nằm chỗ nào để còn thao tác :-=. Chứ như chọn ô thì Excel cũng đã hiển thị bằng một đường viền đậm đen rồi còn gì. Không biết ý tác giả thế nào nhỉ.
thanks! Nhưng mình chỉ tô màu tại vị trí của ô con chuột mà thôi , bạn làm đúng rồi, nhưng mình ko cần tô màu cho 1 dòng và 1 cột như vậy
Vậy thì sửa lại như thế này:
PHP:
Sub worksheet_selectionchange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = 5
End Sub
Lưu ý: Sửa dụng code này màu nền của tất cả các ô trong sheet sẽ bị xóa.
 
Lần chỉnh sửa cuối:
Nếu muốn đổi màu ô nhận trỏ chuột thì dùng thử Add-In này xem sao. Nếu chỉ đổi màu 1 ô thì nên dùng biến để lưu lại màu ô trước khi thay đổi màu rồi khi nào di chuyển sang ô khác sẽ trả lại màu cho ô đó sẽ hay hơn. Còn nếu đổi màu cả 1 cột+1 dòng thì tạm thời chưa nghĩ ra phương án nào tối ưu ngoài phương án kẻ khung giả.
 

File đính kèm

Để những người mắt kém biết con chuột đang nằm chỗ nào để còn thao tác :-=. Chứ như chọn ô thì Excel cũng đã hiển thị bằng một đường viền đậm đen rồi còn gì. Không biết ý tác giả thế nào nhỉ.

Vậy thì sửa lại như thế này:
PHP:
Sub worksheet_selectionchange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = 5
End Sub
Lưu ý: Sửa dụng code này màu nền của tất cả các ô trong sheet sẽ bị xóa.

Bạn huuthang_bd thân mến!
Đoạn code rất hay nhưng chỉ sử dụng được cho 1 sheet. Nếu muốn sử dụng trong toàn bộ bản tính của mình thì thêm lệnh nào? bạn chỉ giúp giùm mình.
 
Bạn huuthang_bd thân mến!
Đoạn code rất hay nhưng chỉ sử dụng được cho 1 sheet. Nếu muốn sử dụng trong toàn bộ bản tính của mình thì thêm lệnh nào? bạn chỉ giúp giùm mình.
Dán code này vào khung VBE của Workbook.
PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Cells.Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = 5
End Sub
 
bạn xem VD minh họa sau :
PHP:
Sub worksheet_selectionchange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
Columns(Target.Column).Interior.ColorIndex = 3
Rows(Target.Row).Interior.ColorIndex = 3
Target.Interior.ColorIndex = 5
End Sub

Code của bạn hay quá, nhưng giá như khi Print Preview, cũng như Print, nó đừng có Show ra cái màu nền thì hay hơn nữa!!! Có khắc phục được không?
 
Code của bạn hay quá, nhưng giá như khi Print Preview, cũng như Print, nó đừng có Show ra cái màu nền thì hay hơn nữa!!! Có khắc phục được không?
Sheet1:
PHP:
Sub worksheet_selectionchange(ByVal Target As Range)
Set Rng = Target
Cells.Interior.ColorIndex = xlNone
Rng.Interior.ColorIndex = 5
End Sub

This Workbook
PHP:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Rng.Interior.ColorIndex = xlNone
End Sub
 

File đính kèm

Nếu làm như vậy, có ảnh hưởng đến những màu nền của mình đã định dạng không? (chắc phải thử trước quá!)
Cảm ơn.

PS: Đã kiểm tra, mất tất cả màu nền ẹc ... ẹc... (bắt chước thầy Ndu hehehehe)
 
Lần chỉnh sửa cuối:
Nếu làm như vậy, có ảnh hưởng đến những màu nền của mình đã định dạng không? (chắc phải thử trước quá!)
Cảm ơn.

PS: Đã kiểm tra, mất tất cả màu nền ẹc ... ẹc... (bắt chước thầy Ndu hehehehe)

Đúng vậy. Khi di chuyển con trỏ đến đâu thì màu sẽ bị thay đổi đến đó. Nếu muốn giữ lại Format đã được ấn định trước thì chỉ có cách khoanh vùng cho sự kiện Selection_change thôi. (tạm thời chưa nghĩ ra cách khắc phục)
 
Excel có công cụ cho yêu cầu này, đơn giản ta dùng Conditional Formating với công thức điều kiện sau:
PHP:
=AND(ROW()=CELL("row"),COLUMN()=CELL("col"))
Tham khảo thêm link tại đây của sư phụ NDU, giải quyết sạch sẽ yêu cầu của topic này.
http://www.giaiphapexcel.com/forum/showpost.php?p=108504&postcount=9
 
Lần chỉnh sửa cuối:
Excel có công cụ cho yêu cầu này, đơn giản ta dùng Conditional Formating với công thức điều kiện sau:
PHP:
=AND(ROW()=CELL("row"),COLUMN()=CELL("col"))
Tham khảo thêm link tại đây của sư phụ NDU, giải quyết sạch sẽ yêu cầu của topic này.
http://www.giaiphapexcel.com/forum/showpost.php?p=108504&postcount=9

Cám ơn Ca_dafi, trước đây có xem qua, nhưng thấy nó không tiện, bởi vì nó không cho mình Copy hay Past gì hết, rồi cũng có giải pháp (ai đó cũng đã làm), nhưng lúc đó mình thấy nó chạy chậm hay gì đó và hay chớp chớp mà mình bỏ không xài nữa, tiếp đó vẫn bị tình trạng khi in ấn vẫn bị cái định dạng đó chi phối.
Giờ cái này thì Copy-Past vô tư, không thấy chớp mà nhanh, nhưng lại làm mất định dạng của mình. Đúng là được này mất kia.
 
Lần chỉnh sửa cuối:
Cám ơn Ca_dafi, trước đây có xem qua, nhưng thấy nó không tiện, bởi vì nó không cho mình Copy hay Past gì hết, rồi cũng có giải pháp (ai đó cũng đã làm), nhưng lúc đó mình thấy nó chạy chậm hay gì đó và hay chớp chớp mà mình bỏ không xài nữa, tiếp đó vẫn bị tình trạng khi in ấn vẫn bị cái định dạng đó chi phối.
Giờ cái này thì Copy-Past vô tư, không thấy chớp mà nhanh, nhưng lại làm mất định dạng của mình. Đúng là được này mất kia.
Không biết anh có nhầm lẫn gì không, cái chỗ tô đậm màu đỏ đó:
- Dùng Conditional Formating thì có ảnh hưởng gì đến việc Copy và Paste nhỉ!?
- Muốn in mà không bị cái định dạng đó chi phối thì trước khi in, hãy click chuột ra khỏi cái vùng in rồi hãy in, cái này quá đơn giản mà anh.

- Còn cái vụ "Chớp chớp" thì phải chịu thôi, thử hỏi mỗi lần di chuyển ô hiện hành là mỗi lần đổi màu, không chớp mới lạ! --=0

- Còn cái vụ tô đậm màu cam bên trên, dùng conditional formatting theo cách bên dưới đâu có làm mất định dạng riêng của anh đâu nhỉ!?
 
Lần chỉnh sửa cuối:
Lần chỉnh sửa cuối:
Ơ,nhưnng mình ko biết thao tác viết thêm mã như thế nào, bạn có thể chi tiết cho mình không. Mình ngu phần này lắm. Nói chung là tịt. Níck của mình là Mê_EXCel, chứ ko phải là mẹ_excel đâu nha! Các bạn hướng dẫn hộ mình nha. Mình thấy di chuột tới đâu, thì tô màu cho dòng và cột cũng có cái tiện riêng các bạn ạ; cũng tiện lắm chứ bộ. Cảm ơn các bạn nha. Có gì chỉ chi tiết cho mình các thao tác để copy đoạn mã của các bạn. Thanks.
 
Đúng vậy. Khi di chuyển con trỏ đến đâu thì màu sẽ bị thay đổi đến đó. Nếu muốn giữ lại Format đã được ấn định trước thì chỉ có cách khoanh vùng cho sự kiện Selection_change thôi. (tạm thời chưa nghĩ ra cách khắc phục)

Anh ơi, muốn khoanh vùng Selection_change như anh nói thì sửa code như thế nào anh?
 
Em đọc các trả lời của anh/chị mà em bị quay cuồng luôn ạ.
Nên em xin phép ké topic này của chủ thớt, hỏi về cách đổi màu viền của 1 ô excel mình đã chọn ạ.
Mong anh/chị hướng dẫn giúp em ạ.
Em cảm ơn!
 

File đính kèm

  • Untitled.png
    Untitled.png
    168.2 KB · Đọc: 32
Web KT

Bài viết mới nhất

Back
Top Bottom