返回列表 上一主題 發帖

[發問] 選擇單元格時欄列變色

[發問] 選擇單元格時欄列變色



Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    On Error Resume Next
     If Target.Count > 1 Then Exit Sub
    Cells.FormatConditions.Delete
   
With Target.EntireColumn.FormatConditions  '欄變色
        .Delete
        .Add xlExpression, , "TRUE"
        .Item(1).Interior.ColorIndex = Int(28)
    End With
   
With Target.EntireRow.FormatConditions  '列變色
        .Delete
        .Add xlExpression, , "TRUE"
        .Item(1).Interior.ColorIndex = Int(35)
    End With
   
With Target.FormatConditions  '單元格變色
        .Delete
        .Add xlExpression, , "TRUE"
        .Item(1).Interior.ColorIndex = Int(4)
    End With
End Sub

各位大大
小弟為了方便辨識目前的看哪個欄列,上網去找了"選擇單元格時欄列變色"的語法
確實是有達到我要的效果
但是
燈號那個欄位卻不見了



請問上面那段語法哪裡寫錯,煩請知道的大大們幫助小弟解惑

回復 2# Andy2483


非常感謝Andy2483大大的解惑
但是
搞定了列位,變成欄位的原來顏色不見了

變色前


變色後

TOP

回復 4# Andy2483

非常感謝Andy2483大大的解惑
欄位的背景顏色還是會消失


TOP

回復 6# Andy2483

非常感謝Andy2483大大的解惑

成功了

TOP

回復 6# Andy2483

可否請Andy2483大大解惑一下這段語法
小弟完全看不懂

TOP

回復 9# 准提部林

長官說很卡
他說平常不會用到變色的功能
只有報告或開會的時候才會使用

以下是長官的要求
請問有辦法做一個類似button或是開關的功能
要使用變色功能的時候"開啟"
不要使用變色功能的時候"關掉"

TOP

本帖最後由 cowww 於 2023-5-4 14:23 編輯

回復 13# Andy2483

非常感謝准提部林大大提供的新寫法
我可能要研究一段時間才能看得懂

非常感謝Andy2483大大的解惑
我現在有一個問題
將變色關掉的時候,已變色的單元格+欄位+列位不會消失
就算關掉變色去點選其他單元格也不會消失
請問這個問題有辦法解決嗎??

TOP

回復 17# cowww

我把語法改成這樣
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Target
   Dim xR As Range, xA As Range, xB As Range
   If .Columns.Count = Columns.CountLarge Then Exit Sub
   If .Count > 1 Or .Column = 1 Or .Row < 5 Then Exit Sub
   Set xR = .Cells: Set xA = Range([B1], Cells(1, Columns.Count)).EntireColumn
   Set xB = Range([A5], Cells(Rows.Count, 1)).EntireRow
   With Intersect(ActiveSheet.UsedRange, xA, xB)
      .Interior.ColorIndex = xlNone
      If Range("F2") = "N" Then
                Intersect(xR.EntireRow, .Cells).Interior.ColorIndex = 0
                Intersect(xR.EntireColumn, .Cells).Interior.ColorIndex = 0
                .Interior.ColorIndex = 0
            Else
                Intersect(xR.EntireRow, .Cells).Interior.ColorIndex = 6
                Intersect(xR.EntireColumn, .Cells).Interior.ColorIndex = 6
                  End If
        End With
            .Interior.ColorIndex = 4
    End With
End Sub

變色選擇"YES"


變色選擇"NO"


有辦法把"NO"的單元個底色變成 無色 嗎?

TOP

回復 19# Andy2483

非常感謝准提部林大大的解惑
非常感謝Andy2483大大的解惑

有使用了准提部林大大提供的寫法及物件
真的很方便
但是為何勾選的物件無法改變大小及文字??

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題