+ Reply to Thread
Results 1 to 4 of 4

How do I simplify this Code?

Hybrid View

  1. #1
    Registered User
    Join Date
    02-18-2023
    Location
    New Zealand
    MS-Off Ver
    Office 365
    Posts
    6

    How do I simplify this Code?

    Hello, this code applies conditional formatting to data in 12 Excel columns. Each column is unrelated to the other column. How do I simply this code so it is not repeated 12x? Thank you.

    This is a sample;

    Sub Macro1()
    '
    ' Macro1 Macro
    ' 
    
        Range("F2:F50").Select
        Range(Selection, Selection.End(xlUp)).Select
            
        Selection.FormatConditions.AddColorScale ColorScaleType:=3
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
            xlConditionValueLowestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
            .Color = 7039480
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
            xlConditionValuePercentile
        Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
        With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
            .Color = 8711167
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
            xlConditionValueHighestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
            .Color = 8109667
            .TintAndShade = 0
        End With
        
        Range("H2:H50").Select
        Range(Selection, Selection.End(xlUp)).Select
           
        Selection.FormatConditions.AddColorScale ColorScaleType:=3
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
            xlConditionValueLowestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
            .Color = 7039480
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
            xlConditionValuePercentile
        Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
        With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
            .Color = 8711167
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
            xlConditionValueHighestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
            .Color = 8109667
            .TintAndShade = 0
        End With
        
        
         Range("I2:I50").Select
        Range(Selection, Selection.End(xlUp)).Select
           
        Selection.FormatConditions.AddColorScale ColorScaleType:=3
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
            xlConditionValueLowestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
            .Color = 7039480
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
            xlConditionValuePercentile
        Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
        With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
            .Color = 8711167
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
            xlConditionValueHighestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
            .Color = 8109667
            .TintAndShade = 0
        End With
        
        
        
        Range("J2:J50").Select
        Range(Selection, Selection.End(xlUp)).Select
           
        Selection.FormatConditions.AddColorScale ColorScaleType:=3
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
            xlConditionValueLowestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
            .Color = 7039480
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
            xlConditionValuePercentile
        Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
        With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
            .Color = 8711167
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
            xlConditionValueHighestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
            .Color = 8109667
            .TintAndShade = 0
        End With
        
        Range("K2:K50").Select
        Range(Selection, Selection.End(xlUp)).Select
           
        Selection.FormatConditions.AddColorScale ColorScaleType:=3
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
            xlConditionValueLowestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
            .Color = 7039480
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
            xlConditionValuePercentile
        Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
        With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
            .Color = 8711167
            .TintAndShade = 0
        End With
        Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
            xlConditionValueHighestValue
        With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
            .Color = 8109667
            .TintAndShade = 0
        End With
        
        
        
       End Sub

  2. #2
    Forum Expert Greg M's Avatar
    Join Date
    08-16-2007
    Location
    Dublin. Ireland
    MS-Off Ver
    Office 2016
    Posts
    4,481

    Re: How do I simplify this Code?

    Hi there,

    See if the following code does what you need:

    
    
    
    Option Explicit
    
    
    Sub ApplyConditionalFormatting()
    
        Const sSHEET_NAME   As String = "Sheet1"
    
        Dim rCellsToFormat  As Range
        Dim wksTarget       As Worksheet
        Dim vaRanges        As Variant
        Dim vRange          As Variant
        Dim sRange          As String
    
        Set wksTarget = ThisWorkbook.Worksheets(sSHEET_NAME)
    
        vaRanges = Array("F2:F50", "H2:H50", "I2:I50", "J2:J50", "K2:K50")
    
        For Each vRange In vaRanges
    
            sRange = CStr(vRange)
    
            Set rCellsToFormat = wksTarget.Range(sRange)
    
            With rCellsToFormat
    
                .FormatConditions.AddColorScale ColorScaleType:=3
                .FormatConditions(.FormatConditions.Count).SetFirstPriority
    
                With .FormatConditions(1)
    
                    With .ColorScaleCriteria(1)
    
                        .Type = xlConditionValueLowestValue
                        .FormatColor.Color = 7039480
                        .FormatColor.TintAndShade = 0
    
                    End With
    
                    With .ColorScaleCriteria(2)
    
                        .Type = xlConditionValuePercentile
                        .Value = 50
                        .FormatColor.Color = 8711167
                        .FormatColor.TintAndShade = 0
    
                    End With
    
                    With .ColorScaleCriteria(3)
    
                        .Type = xlConditionValueHighestValue
                        .FormatColor.Color = 8109667
                        .FormatColor.TintAndShade = 0
    
                    End With
    
                End With
    
            End With
    
        Next vRange
    
    End Sub
    The highlighted values may be altered to suit your requirements.


    Hope this helps - please let me know how you get on.

    Regards,

    Greg M
    Attached Files Attached Files

  3. #3
    Registered User
    Join Date
    02-18-2023
    Location
    New Zealand
    MS-Off Ver
    Office 365
    Posts
    6

    Re: How do I simplify this Code?

    Thanks Greg. I'm no developer so have to be honest..... getting that code to work on my XLS is a bit of a mystery. I kind of makes sense but getting it to work, well that's a whole other challenge..... If you had a spare 5minutes I could send you the XLS with the data Im trying to format..... but understand if you are busy.

    Cheers.

  4. #4
    Forum Expert Greg M's Avatar
    Join Date
    08-16-2007
    Location
    Dublin. Ireland
    MS-Off Ver
    Office 2016
    Posts
    4,481

    Re: How do I simplify this Code?

    Hi again,

    Sure, no problem.

    I'll send you my email address in a private message so that you can send it to me directly if you don't want to post all of the data here.

    Regards,

    Greg M

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Simplify the VBA Code
    By HITESH TAKRANI in forum Office 365
    Replies: 6
    Last Post: 02-02-2022, 06:14 AM
  2. [SOLVED] Simplify Code
    By declan1983 in forum Excel Programming / VBA / Macros
    Replies: 2
    Last Post: 08-26-2020, 04:00 PM
  3. [SOLVED] Simple VBA code to convert text to number (simplify/fix current code)
    By kenenthpaul0401 in forum Excel Programming / VBA / Macros
    Replies: 4
    Last Post: 10-26-2018, 10:47 AM
  4. [SOLVED] Simplify code
    By KBSH in forum Excel Programming / VBA / Macros
    Replies: 4
    Last Post: 03-05-2016, 03:20 PM
  5. [SOLVED] Is there a way to simplify my code?
    By lubbamkt in forum Excel Programming / VBA / Macros
    Replies: 10
    Last Post: 06-08-2014, 04:09 PM
  6. How to simplify code?
    By RaquelAR in forum Excel Programming / VBA / Macros
    Replies: 3
    Last Post: 11-28-2013, 07:30 AM
  7. hi can anyone simplify this old bit of code
    By khalid79m in forum Excel General
    Replies: 3
    Last Post: 12-28-2006, 01:04 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1