Villkorsstyrd formatering i VBA


I detta tips visas hur vi kan använda oss av villkorsstyrd formatering i VBA. Det som är viktigt att ha i åtanke är att vi måste markera cellområdet och aktivera den första cellen. Det gäller i synnerhet när vi har villkor där en cell ska matchas mot ett cellområde.

Tipset visar hur vi kan använda oss av villkorsstyrd formatering för att identifiera dubbletter i ett givet cellområde.

Se också: Villkorsstyrd formatering

Om ett felmeddelande erhålls vid kopiering till VBA-modul så läs mer här»
 

 

(© 2002 - 2004 All rights Colo - Used by permission)

Option Explicit

 

Sub Conditional_Formatting_VBA()

   '© 2004 Alla rättigheter XL-Dennis

   Dim wbBook As Workbook

   Dim wsSheet As Worksheet

   Dim rnCheck As Range

   Dim stAddress As String, stFirstAddress As String

 

   Set wbBook = ThisWorkbook

   Set wsSheet = wbBook.Worksheets("Blad1")

 

   With wsSheet

      Set rnCheck = .Range(.Range("C2"), .Range("C65536").End(xlUp))

   End With

 

   stAddress = rnCheck.Address

   'Omvandlar absolut cellreferens till relativ.

   stFirstAddress = Replace(rnCheck(1, 1).Address, "$", "")

 

   With rnCheck

      .Select 'Markerar cellområdet.

      .Cells(1, 1).Activate 'Aktiverar startcellen.

      With .FormatConditions

         .Delete 'Tar bort eventuell tidigare formatering.

         .Add Type:=xlExpression, Formula1:="=ANTAL.OM(" _

               & stAddress & ";" & stFirstAddress & ")<>1"

         .Item(1).Interior.ColorIndex = 19 'Anger önskad färgformatering.

      End With

   End With

 

End Sub