Bạn làm thử theo link sau http://www.giaiphapexcel.com/forum/showthread.php?11908-Tô-đậm-hàng-đang-chứa-ô-hiện-hànhEm có ý tưởng thế này: Em muốn khi click chuột vào cột hoặc hàng thì nó tự tô màu?
Chuyện tự động tô màu thì không khó, nhưng mấy bài có dạng chỉ là ý tưởng thì khó làm lắm. Muốn thế nào thì gởi file có dữ liệu thật lên.Em có ý tưởng thế này: Em muốn khi click chuột vào cột hoặc hàng thì nó tự tô màu?
Chuyện tự động tô màu thì không khó, nhưng mấy bài có dạng chỉ là ý tưởng thì khó làm lắm. Muốn thế nào thì gởi file có dữ liệu thật lên.
Em muốn tô màu như hình trong file đính kèm đó ah? Em muốn tô vậy để làm bài thuyết trình ấy mà?
Public Sub Highlight(ByVal Source_Range As Range, ByVal Color_Index As Long, Optional Highlight_Type As Long = 1)
''Có 4 kieu to mau:
'' Highlight_Type = 1 <===> Tô màu dòng
'' Highlight_Type = 2 <===> Tô màu côt
'' Highlight_Type = 3 <===> Tô màu dòng côt
'' Highlight_Type = 4 <===> Tô màu 1/4 dòng côt
Dim TmpRng As Range, rCel As Range
On Error Resume Next
Set rCel = ActiveCell
With Source_Range
.FormatConditions.Delete
Select Case Highlight_Type
Case 1:
Set TmpRng = Intersect(.Cells, rCel.EntireRow)
Case 2:
Set TmpRng = Intersect(.Cells, rCel.EntireColumn)
Case 3:
Set TmpRng = Intersect(.Cells, Union(rCel.EntireColumn, rCel.EntireRow))
Case 4:
Set TmpRng = Intersect(Range(.Cells(1, 1), rCel), Union(rCel.EntireColumn, rCel.EntireRow))
End Select
End With
If Application.CutCopyMode = False Then
TmpRng.FormatConditions.Add 2, , "TRUE"
TmpRng.FormatConditions(1).Interior.ColorIndex = Color_Index
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo ExitSub
With [COLOR=#ff0000][B]Range("C5:M30")[/B][/COLOR]
If Not Intersect(.Cells, Target) Is Nothing Then
If Target.Count = 1 Then Highlight .Cells, [COLOR=#ffd700][B]6[/B][/COLOR], [COLOR=#0000cd][B]1[/B][/COLOR]
End If
End With
ExitSub:
End Sub