Code select ô nào thì dòng đó màu đỏ (1 người xem)

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

congnguyen88

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/7/14
Bài viết
355
Được thích
31
Mình có 1 bảng tính excel , mình muốn để cho dễ dàng quan sát dữ liệu, khi mình select 1 ô bất kỳ từ cột A đến Cột F thì hàng đó sẽ có màu đỏ ( ví dụ mình select ô A5 thì Range("A5:F5"). màu đỏ ) , Nhưng khi mình select sang dòng khác thì dòng trước đỏ phải xóa màu đỏ đi. Mong mọi người giúp mình
 

File đính kèm

Mình có 1 bảng tính excel , mình muốn để cho dễ dàng quan sát dữ liệu, khi mình select 1 ô bất kỳ từ cột A đến Cột F thì hàng đó sẽ có màu đỏ ( ví dụ mình select ô A5 thì Range("A5:F5"). màu đỏ ) , Nhưng khi mình select sang dòng khác thì dòng trước đỏ phải xóa màu đỏ đi. Mong mọi người giúp mình
Bạn xem file đính kèm xem được chưa ?
 

File đính kèm

Upvote 0
Ok rồi cảm ơn bạn. Mình muốn đổi mày khác thì sửa code chổ nào vậy bạn. màu đỏ chói quá

Rõ ràng lúc đầu kêu người ta tô màu đỏ
Mình có 1 bảng tính excel , mình muốn để cho dễ dàng quan sát dữ liệu, khi mình select 1 ô bất kỳ từ cột A đến Cột F thì hàng đó sẽ có màu đỏ
giờ lại bảo chói
Chỗ này:
Mã:
Selection.FormatConditions(1).Interior.ColorIndex = [COLOR=#ff0000]3[/COLOR]
Thay số 3 thành số khác (từ 0 đến 55) sẽ ra màu khác
Tuy nhiên code này còn nhiều nhược điểm, ví dụ khi bạn thay số 3 thành số khác xong thì màu vẫn chưa cập nhật, phải đóng file rồi mở lại mới "ép phê"
 
Upvote 0
Mình có 1 bảng tính excel , mình muốn để cho dễ dàng quan sát dữ liệu, khi mình select 1 ô bất kỳ từ cột A đến Cột F thì hàng đó sẽ có màu đỏ ( ví dụ mình select ô A5 thì Range("A5:F5"). màu đỏ ) , Nhưng khi mình select sang dòng khác thì dòng trước đỏ phải xóa màu đỏ đi. Mong mọi người giúp mình
Select như thế, dự là không copy và paste trong cùng sheet được!!!!
 
Upvote 0
Rõ ràng lúc đầu kêu người ta tô màu đỏ

giờ lại bảo chói
Chỗ này:
Mã:
Selection.FormatConditions(1).Interior.ColorIndex = [COLOR=#ff0000]3[/COLOR]
Thay số 3 thành số khác (từ 0 đến 55) sẽ ra màu khác
Tuy nhiên code này còn nhiều nhược điểm, ví dụ khi bạn thay số 3 thành số khác xong thì màu vẫn chưa cập nhật, phải đóng file rồi mở lại mới "ép phê"
Chính xác code này không cho cập nhật màu ngay mà phải mở File nó mới cập nhật. Mong thầy sửa lại để các thành viên tham khảo với ạ! Em cảm ơn thầy!
 
Upvote 0
Chính xác code này không cho cập nhật màu ngay mà phải mở File nó mới cập nhật. Mong thầy sửa lại để các thành viên tham khảo với ạ! Em cảm ơn thầy!

Code HighLight có đầy trên GPE rồi, tìm là thấy, sửa làm gì cho mất công
 
Upvote 0
Mong thầy sửa lại để các thành viên tham khảo với ạ! Em cảm ơn thầy!

Sửa thì tôi sẽ không sửa. Tôi làm theo cách của tôi
Thôi thì đưa lên luôn, khỏi mất công tìm
1> Code trong Module
Mã:
Public Sub Highlight(ByVal SourceRange As Range, ByVal Target As Range, ByVal ColorIndex As Long, Optional ColorType As Long = 1)
  Dim rTmp As Range, rRow As Range, rCol As Range
  On Error Resume Next
  Set rRow = Target.EntireRow
  Set rCol = Target.EntireColumn
  SourceRange.FormatConditions.Delete
  If Not Intersect(SourceRange, Target) Is Nothing Then
    Select Case ColorType
      Case 1: Set rTmp = Intersect(SourceRange, rRow)
      Case 2: Set rTmp = Intersect(SourceRange, rCol)
      Case 3: Set rTmp = Intersect(SourceRange, Union(rRow, rCol))
      Case 4: Set rTmp = Intersect(Range(SourceRange.Cells(1, 1), Target), Union(rRow, rCol), SourceRange)
    End Select
    If Not rTmp Is Nothing Then
      If Application.CutCopyMode = False Then
        rTmp.FormatConditions.Add 2, , "TRUE"
        rTmp.FormatConditions(1).Interior.ColorIndex = ColorIndex
      End If
    End If
  End If
End Sub
2> Code trong Sheet
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Highlight [COLOR=#ff0000]Range("B3:M30")[/COLOR], Target, [COLOR=#0000cd]5[/COLOR], [COLOR=#008000]1[/COLOR]
End Sub
- Range("B3:M30") là vùng dữ liệu định tô màu
- Số 5 trong code: là màu HighLight
- Số 1 trong code: là kiểu HighLight (có 4 kiểu tất cả)
Thay đổi 3 thông số này tùy ý
 

File đính kèm

Upvote 0
Sửa thì tôi sẽ không sửa. Tôi làm theo cách của tôi
Thôi thì đưa lên luôn, khỏi mất công tìm
1> Code trong Module
Mã:
Public Sub Highlight(ByVal SourceRange As Range, ByVal Target As Range, ByVal ColorIndex As Long, Optional ColorType As Long = 1)
  Dim rTmp As Range, rRow As Range, rCol As Range
  On Error Resume Next
  Set rRow = Target.EntireRow
  Set rCol = Target.EntireColumn
  SourceRange.FormatConditions.Delete
  If Not Intersect(SourceRange, Target) Is Nothing Then
    Select Case ColorType
      Case 1: Set rTmp = Intersect(SourceRange, rRow)
      Case 2: Set rTmp = Intersect(SourceRange, rCol)
      Case 3: Set rTmp = Intersect(SourceRange, Union(rRow, rCol))
      Case 4: Set rTmp = Intersect(Range(SourceRange.Cells(1, 1), Target), Union(rRow, rCol), SourceRange)
    End Select
    If Not rTmp Is Nothing Then
      If Application.CutCopyMode = False Then
        rTmp.FormatConditions.Add 2, , "TRUE"
        rTmp.FormatConditions(1).Interior.ColorIndex = ColorIndex
      End If
    End If
  End If
End Sub
2> Code trong Sheet
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Highlight [COLOR=#ff0000]Range("B3:M30")[/COLOR], Target, [COLOR=#0000cd]5[/COLOR], [COLOR=#008000]1[/COLOR]
End Sub
- Range("B3:M30") là vùng dữ liệu định tô màu
- Số 5 trong code: là màu HighLight
- Số 1 trong code: là kiểu HighLight (có 4 kiểu tất cả)
Thay đổi 3 thông số này tùy ý
Rất hay. Phải công nhận code thầy viết tổng quát thật. Có thể tùy biến cho nhiều trường hợp.
 
Upvote 0
Select như thế, dự là không copy và paste trong cùng sheet được!!!!
giờ mới quay lại xem, thấy mọị người tham gia rôm rả quá ! Thay vì "dự" thì bạn dùng chổi sơn quét từ 1 ô đã highlight sang bất kỳ ô nào hoặc bất kỳ khu vực nào thử xem !
 
Lần chỉnh sửa cuối:
Upvote 0
Chính xác code này không cho cập nhật màu ngay mà phải mở File nó mới cập nhật. Mong thầy sửa lại để các thành viên tham khảo với ạ! Em cảm ơn thầy!
chính xác chỉ có ô (ativecell) là được highlight sau đó dùng chổi sơn quét đến nơi cần highlight . cái hay là vẫn tô màu được đấy chuột ạ !
 
Upvote 0
chính xác chỉ có ô (ativecell) là được highlight sau đó dùng chổi sơn quét đến nơi cần highlight . cái hay là vẫn tô màu được đấy chuột ạ !
Cái này thì mình biết. Ý của mình là nếu trong code đó nếu thay màu đỏ bằng 1 mã mầu khác như vàng chẳng hạn thì màu được chọn mới đó nó sẽ không có hiệu lực ngay lập tức. Muốn nó có hiệu lực thì phải tắt File đi sau đó mở lại thì mới được!
p/s: Góp ý để code bạn hoàn thiện hơn thôi chứ không có ý gì khác cả đâu!!!&&&%$R
 
Upvote 0
Cái này thì mình biết. Ý của mình là nếu trong code đó nếu thay màu đỏ bằng 1 mã mầu khác như vàng chẳng hạn thì màu được chọn mới đó nó sẽ không có hiệu lực ngay lập tức. Muốn nó có hiệu lực thì phải tắt File đi sau đó mở lại thì mới được!
p/s: Góp ý để code bạn hoàn thiện hơn thôi chứ không có ý gì khác cả đâu!!!&&&%$R
Thì học hỏi từ các thày mà ra cả, khi ứng dụng thì thêm tý tẹo của mình thôi .
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom