簡體   English   中英

條件格式以突出顯示特定單元格而不是空單元格和文本單元格 VBA

[英]Conditional formatting to highlight specific cells but not empty and text cells VBA

我有一個宏可以突出顯示范圍之外的單元格。 它唯一的問題是它還會突出顯示所有空單元格和帶有文本的單元格。 有沒有辦法讓它忽略這些?

在此處輸入圖片說明

這是我的代碼

Sub Highlight()
'
' Highlight good values

Application.ScreenUpdating = False

    Dim ws As Worksheet


    For Each ws In ActiveWorkbook.Worksheets

    ws.Activate

        With ActiveSheet.Rows("18:79")
            .FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, _
                Formula1:="=$C18", Formula2:="=$D18"
            .FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
            With .FormatConditions(1).Font
                .Color = -16752384
                .TintAndShade = 0
            End With
            With .FormatConditions(1).Interior
                .PatternColorIndex = xlAutomatic
                .Color = 13561798
                .TintAndShade = 0
            End With
            .FormatConditions(1).StopIfTrue = False
        End With

    Next ws

Application.ScreenUpdating = True

End Sub

您目前對應用條件格式的范圍只有行限制。 如果您想限制受影響的范圍,您只需將With更改為同時具有RowColumn限制。


更新這個:

With ActiveSheet.Rows("18:79")

對此:

With ActiveSheet.Range("A18:O79")

編輯

如果每個工作表具有相同的行范圍 (18:79) 但列具有不同的范圍,則您只需要創建最后一列變量即可創建動態范圍

Sub Highlight()

Dim ws As Worksheet, LC As Long

For Each ws In ActiveWorkbook.Worksheets
    LC = ws.Cells(18, ws.Columns.Count).End(xlToLeft).Column

    With ws.Range(ws.Cells(18, 1), ws.Cells(79, LC))
       'Formatting goes here
    End With

Next ws

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM