Tô màu khi di chuyển con chuột.

Liên hệ QC

Gà Công Nghệ

Thành viên mới
Tham gia
11/8/15
Bài viết
759
Được thích
439
Xin chào anh, chị, em, cô, chú GPE! Em có file excel cần giúp đỡ là mỗi lần di chuyển con chuột thì nó tô màu cột dọc và cột ngang, và khi di chuyển qua ô khác thì ô trước sẽ không còn tô màu nữa (ví dụ khi con chuột ô D5 thì cột dọc và cột ngang đều tô màu, và khi di chuyển chuột qua ô C10 thì ô D5 sẽ không còn màu nữa). Em xin cám ơn nhiều!
 

File đính kèm

  • tô màu.rar
    13.4 KB · Đọc: 11
Xin chào anh, chị, em, cô, chú GPE! Em có file excel cần giúp đỡ là mỗi lần di chuyển con chuột thì nó tô màu cột dọc và cột ngang, và khi di chuyển qua ô khác thì ô trước sẽ không còn tô màu nữa (ví dụ khi con chuột ô D5 thì cột dọc và cột ngang đều tô màu, và khi di chuyển chuột qua ô C10 thì ô D5 sẽ không còn màu nữa). Em xin cám ơn nhiều!
Thử cách củ chuối này xem sao. Code chỉ tô trên, dưới , trái, phải 1 ô.
Mã:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").CurrentRegion.Interior.ColorIndex = 0
If Target.Row > 1 Then
    Range(Target.Offset(1, 0), Target.Offset(-1, 0)).Interior.Color = vbRed
Else
    Range(Target.Offset(1, 0), Target).Interior.Color = vbRed
End If
If Target.Column > 1 Then
    Range(Target.Offset(0, -1), Target.Offset(0, 1)).Interior.Color = vbYellow
Else
    Range(Target, Target.Offset(0, 1)).Interior.Color = vbYellow
End If
End Sub
Tôi còn nhớ trước đây có 1 anh nào (SA-DQ, hay Hai lua Mien Tay...) đã có 1 code tô màu hàng và cột chứa con chỏ hay lắm (tự đổi sang màu khác khi thay đổi vị trí con chỏ) mà tìm mãi không thấy. Bạn nào có code kể trên hay code khác hãy đăng lên để mọi người cùng sử dụng.
 
Có vẻ như không mong muốn sự kiện selection cell, mà là mouseOver (con trỏ chuột nằm trên ô nào thì highlight cột và dòng của ô đó - Dạng hình chữ thập)
Nếu vậy thì không có event nào phục vụ cho việc đó, trừ khi mouseOver shapes hoặc activeX controls
 
Add-in này tựa tựa ý của bạn, bạn có thể tham khảo

 
Nếu chọn ô thì toàn bộ bảng sẽ tô màu dạng chữ thập:
PHP:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lr&, lc&
lr = Cells(Rows.Count, "A").End(xlUp).Row
lc = Cells(6, Columns.Count).End(xlToLeft).Column
If Intersect(Target, Range(Cells(6, 1), Cells(lr, lc))) Is Nothing Then Exit Sub
Range(Cells(6, 1), Cells(lr, lc)).Interior.Color = xlNone
Union(Range(Cells(Target.Row, "A"), Cells(Target.Row, lc)), Range(Cells(6, Target.Column), Cells(lr, Target.Column))).Interior.Color = vbCyan
End Sub
 
Thử cách củ chuối này xem sao. Code chỉ tô trên, dưới , trái, phải 1 ô.
Mã:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").CurrentRegion.Interior.ColorIndex = 0
If Target.Row > 1 Then
    Range(Target.Offset(1, 0), Target.Offset(-1, 0)).Interior.Color = vbRed
Else
    Range(Target.Offset(1, 0), Target).Interior.Color = vbRed
End If
If Target.Column > 1 Then
    Range(Target.Offset(0, -1), Target.Offset(0, 1)).Interior.Color = vbYellow
Else
    Range(Target, Target.Offset(0, 1)).Interior.Color = vbYellow
End If
End Sub
Tôi còn nhớ trước đây có 1 anh nào (SA-DQ, hay Hai lua Mien Tay...) đã có 1 code tô màu hàng và cột chứa con chỏ hay lắm (tự đổi sang màu khác khi thay đổi vị trí con chỏ) mà tìm mãi không thấy. Bạn nào có code kể trên hay code khác hãy đăng lên để mọi người cùng sử dụng.
Dạ, vâng. Để chút em thử xem sao. Em cám ơn anh nhiều.
Bài đã được tự động gộp:

Thử cách củ chuối này xem sao. Code chỉ tô trên, dưới , trái, phải 1 ô.
Mã:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").CurrentRegion.Interior.ColorIndex = 0
If Target.Row > 1 Then
    Range(Target.Offset(1, 0), Target.Offset(-1, 0)).Interior.Color = vbRed
Else
    Range(Target.Offset(1, 0), Target).Interior.Color = vbRed
End If
If Target.Column > 1 Then
    Range(Target.Offset(0, -1), Target.Offset(0, 1)).Interior.Color = vbYellow
Else
    Range(Target, Target.Offset(0, 1)).Interior.Color = vbYellow
End If
End Sub
Tôi còn nhớ trước đây có 1 anh nào (SA-DQ, hay Hai lua Mien Tay...) đã có 1 code tô màu hàng và cột chứa con chỏ hay lắm (tự đổi sang màu khác khi thay đổi vị trí con chỏ) mà tìm mãi không thấy. Bạn nào có code kể trên hay code khác hãy đăng lên để mọi người cùng sử dụng.
Code em mới thử, nhưng khi di chuyển sang ô khác thì ô trước đó vẫn còn tô màu mà không mất (ví dụ em di chuyển chuột đến D5, và em qua ô khác ô B7 thì ô D5 vẫn còn màu mà không mất).
 
Lần chỉnh sửa cuối:
mình góp vui thêm 1 cách nữa nhé
 

File đính kèm

  • gpe-tô màu di chuyển chuột.xlsb
    29.4 KB · Đọc: 15
Nếu chọn ô thì toàn bộ bảng sẽ tô màu dạng chữ thập:
PHP:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lr&, lc&
lr = Cells(Rows.Count, "A").End(xlUp).Row
lc = Cells(6, Columns.Count).End(xlToLeft).Column
If Intersect(Target, Range(Cells(6, 1), Cells(lr, lc))) Is Nothing Then Exit Sub
Range(Cells(6, 1), Cells(lr, lc)).Interior.Color = xlNone
Union(Range(Cells(Target.Row, "A"), Cells(Target.Row, lc)), Range(Cells(6, Target.Column), Cells(lr, Target.Column))).Interior.Color = vbCyan
End Sub
Anh cho em hỏi, em coppy đoạn code rồi dán vô mà không thấy tô màu. Em không biết em làm sai chỗ nào, mong anh hướng dẫn thêm xíu.
 
Thực ra bài này không đơn giản đâu, mình đã từng tìm hiểu nhưng vẫn chưa tìm được cái nào ưng ý, được này mất kia. (*)
Nếu bạn muốn sử dụng thì mình chỉ cho bạn 2 phần mềm: Kutools for Excel hoặc Dose for Excel
Nhưng cả 2 đều mất phí, nếu không mua thì bạn biết cần làm gì rồi!

------------------
(*) Được này mất kia là cái thì không tô màu được khi có conditional formatting, hoặc làm mất màu nền cũ, có một số cái thì dùng line shape để vẽ ... , nhưng nó có điểm chung là không undo được
 
Dạ, vâng. Để chút em thử xem sao. Em cám ơn anh nhiều.
Bài đã được tự động gộp:


Code em mới thử, nhưng khi di chuyển sang ô khác thì ô trước đó vẫn còn tô màu mà không mất (ví dụ em di chuyển chuột đến D5, và em qua ô khác ô B7 thì ô D5 vẫn còn màu mà không mất).
Bạn copy code vào đâu? Hãy copy nó vào Modul Sheeet cần tô màu.
xem lại file.
 

File đính kèm

  • gpe-tô màu di chuyển chuột.xlsb
    24.9 KB · Đọc: 9
Bạn copy code vào đâu? Hãy copy nó vào Modul Sheeet cần tô màu.
xem lại file.
dạ, em coppy dán vô sheet, mà em không chuyển đổi đuôi xlsb, giờ nhìn file của anh thì thấy di chuyển qua ô khác thì ô cũ mất màu.
Bài đã được tự động gộp:

video này có code gì không bác?
 
dạ, em coppy dán vô sheet, mà em không chuyển đổi đuôi xlsb, giờ nhìn file của anh thì thấy di chuyển qua ô khác thì ô cũ mất màu.
Bài đã được tự động gộp:


video này có code gì không bác?
nếu muốn giống Video trên Thử thay code này vào xem sao.
Mã:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Range("A1").CurrentRegion.Interior.ColorIndex = 0
    Range(Cells(1, Target.Column), Cells(Target.Row, Target.Column)).Interior.Color = vbYellow
    Range(Cells(Target.Row, 1), Cells(Target.Row, Target.Column)).Interior.Color = vbYellow
End Sub
Chạy thử.
Màu đang để là màu vàng chanh.
 
Không được làm vậy.
Ban đầu người ta đã tô màu gì thì phải trả nguyên trạng như vậy.
Cảm ơn anh đã xem bài. Ở bài #2 tôi đã viết " Tôi còn nhớ trước đây có 1 anh nào (SA-DQ, hay Hai lua Mien Tay...) đã có 1 code tô màu hàng và cột chứa con chỏ hay lắm (tự đổi sang màu khác khi thay đổi vị trí con chỏ)... nhưng tìm mãi mà không tìm thấy..." nên đành mới viết thế mà cũng xác định là bản thân file gốc không có tô màu, mà có tô màu mà dùng CF thì cũng không làm mất màu của ô đã CF.
Anh giúp bạn ấy và nhiều người muốn học (trong đó có tôi) đi anh.
 
Cảm ơn anh đã xem bài. Ở bài #2 tôi đã viết " Tôi còn nhớ trước đây có 1 anh nào (SA-DQ, hay Hai lua Mien Tay...) đã có 1 code tô màu hàng và cột chứa con chỏ hay lắm (tự đổi sang màu khác khi thay đổi vị trí con chỏ)... nhưng tìm mãi mà không tìm thấy..." nên đành mới viết thế mà cũng xác định là bản thân file gốc không có tô màu, mà có tô màu mà dùng CF thì cũng không làm mất màu của ô đã CF.
Anh giúp bạn ấy và nhiều người muốn học (trong đó có tôi) đi anh.

Có bài #11 rồi bác ơi. Chờ tác giả đăng bài lên thôi.
 
Web KT
Back
Top Bottom