title: Excel VBA - Apply auto filter and Sort by specific colour
body: <p>I have an auto-filtered range of data. The auto filter was created by the following VB code:</p>
  
  <pre><code>Sub Colour_filter()
  
  Range("A4").Select
  Range(Selection, Selection.End(xlToRight)).Select
  Range(Selection, Selection.End(xlDown)).Select
  Selection.Copy
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  Selection.AutoFilter
  
  End Sub
  </code></pre>
  
  <p>I would like to sort the values in column "A" (the data actually start from cell "A4") by the following colour ( Color = RGB(255, 102, 204) ) so all the cells with that colour sort to the top.</p>
  
  <p>It would be fab if the extra code could be added to my existing code?</p>
  
  <p>My office is really noisy and my VB isn’t the best. It is doubly hard with laughing, chatting ladies all about. Any help will be stress relief heaven!! (p.s. no poke at the ladies it’s just my office is 95% women).</p>
  
  <hr>
  
  <p>Edited per request by @ScottHoltzman.</p>
  
  <p>My requested code forms part of a larger code which would confuse matters, although here is a slimmed down version of the aspect I currently need.</p>
  
  <pre><code>Sub Colour_filter()
  ' Following code( using conditional formatting) adds highlight to 'excluded' courses based
  'on 'course code' cell value matching criteria. Courses codes matching criteria are highlighted
  'in 'Pink'; as of 19-Nov-2012 the 'excluded' course codes are
  '(BIGTEST, BIGFATCAT).
  
  ' &lt;====== CONDITIONAL FORMATTING CODE STARTS HERE  =======&gt;
      Columns("A:A").Select
  Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
  Formula1:="=""BIGTEST"""
      Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
      With Selection.FormatConditions(1).Interior
      .Color = 13395711
     End With
  
  Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
  Formula1:="=""BIGFATCAT"""
      Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
      With Selection.FormatConditions(1).Interior
      .Color = 13395711
  
  End With
  
  ' &lt;====== CONDITIONAL FORMATTING CODE ENDS HERE  =======&gt;
  
  ' Following code returns column A:A to Font "Tahoma", Size "8"
    Columns("A:A").Select
      With Selection.Font
          .Name = "Tahoma"
          .FontStyle = "Regular"
          .Size = 8
          .ThemeColor = xlThemeColorLight1
          .ThemeFont = xlThemeFontNone
  
       End With
      With Selection
          .HorizontalAlignment = xlLeft
          .VerticalAlignment = xlTop
          .WrapText = False
      End With
  
  ' Following code adds border around all contiguous cells ion range, similar to using keyboard short cut "Ctrl + A".
  Range("A4").Select
  ActiveCell.CurrentRegion.Select
  
  
  With Selection
      Selection.Borders(xlDiagonalDown).LineStyle = xlNone
      Selection.Borders(xlDiagonalUp).LineStyle = xlNone
      End With
  With Selection.Borders(xlEdgeLeft)
          .LineStyle = xlContinuous
          .ColorIndex = xlAutomatic
          .TintAndShade = 0
          .Weight = xlThin
      End With
      With Selection.Borders(xlEdgeTop)
          .LineStyle = xlContinuous
          .ColorIndex = xlAutomatic
          .TintAndShade = 0
          .Weight = xlThin
      End With
      With Selection.Borders(xlEdgeBottom)
          .LineStyle = xlContinuous
          .ColorIndex = xlAutomatic
          .TintAndShade = 0
          .Weight = xlThin
      End With
      With Selection.Borders(xlEdgeRight)
          .LineStyle = xlContinuous
          .ColorIndex = xlAutomatic
          .TintAndShade = 0
          .Weight = xlThin
      End With
      With Selection.Borders(xlInsideVertical)
          .LineStyle = xlContinuous
          .ColorIndex = xlAutomatic
          .TintAndShade = 0
          .Weight = xlThin
      End With
      With Selection.Borders(xlInsideHorizontal)
          .LineStyle = xlContinuous
          .ColorIndex = xlAutomatic
          .TintAndShade = 0
          .Weight = xlThin
      End With
  
  
  
  ' Following code adds 'Blue' cell colour to all headers in Row 4 start in Cell "A4".
  
   Range("A4").Select
      Range(Selection, Selection.End(xlToRight)).Select
      With Selection
          .HorizontalAlignment = xlLeft
          .VerticalAlignment = xlTop
          .WrapText = True
          .Orientation = 0
          .AddIndent = False
          .IndentLevel = 0
          .ShrinkToFit = False
          .ReadingOrder = xlContext
          .MergeCells = False
      End With
      With Selection.Interior
          .Pattern = xlSolid
          .PatternColorIndex = xlAutomatic
          .ThemeColor = xlThemeColorLight2
          .TintAndShade = 0.399975585192419
          .PatternTintAndShade = 0
      End With
      With Selection.Font
          .ThemeColor = xlThemeColorDark1
          .TintAndShade = 0
      End With
      Selection.Font.Bold = True
  
  '&lt;== adds auto-filter to my range of cells ===&gt;
  
  Range("A4").Select
  Range(Selection, Selection.End(xlToRight)).Select
  Range(Selection, Selection.End(xlDown)).Select
  Selection.Copy
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  Selection.AutoFilter
  
  End Sub
  </code></pre>