title: Export Access Query to Excel with Formatting
body: <p>So I have a query in access that I want to send back to excel. While using the export wizard is fine and dandy I want to add more automation to the exporting process. So far I am working on code so during the export the final excel sheet will have some formatting. As far as basic formatting I am fine, I found many resources to help me with this. </p>
  
  <p>My problem is that I want to set up conditional formatting so that if a specific column(G) has a value, then the whole row is highlighted. I am a bit lost on how to set up conditional formatting for Excel through vba code in Access</p>
  
  <p>Here is what I have</p>
  
  <pre><code>Dim appExcel As Variant
   Dim MyStr As String
   Dim rng As Excel.Range
  
  ' Creates Excel object and Adds a Workbook to it
      Set appExcel = CreateObject("Excel.application")
      appExcel.Visible = False
      appExcel.Workbooks.Add
  
  
      Set wksNew = appExcel.Worksheets("Sheet1")
  
      appExcel.Visible = True
  
  ' The first thing I do to the worksheet is to set the font.
  ' Not all are required, but I included them as examples.
   With appExcel
      .Cells.Font.Name = "Calbri"
      .Cells.Font.Size = 11
      .Cells.NumberFormat = "@"                                   'all set to Text Fields
      ' My first row will contain column names, so I want to freeze it
      .Rows("2:2").Select
      .ActiveWindow.FreezePanes = True
  
      ' ... and I want the header row to be bold
      .Rows("1:1").Font.Bold = True
      .Rows("1:1").Font.ColorIndex = 1
      .Rows("1:1").Interior.ColorIndex = 15
  
      ' Adds conditional formatting based on Values in the G column
  
      rng = .Range("A2:J20").Select
      rng.FormatConditions.Add Type:=xlExpression, Formula1:="=NOT($G2 = 0)"
      rng.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
      With appExcel.Selection.FormatConditions(1).Interior
          .PatternColorIndex = xlAutomatic
          .Color = 65535
          .TintAndShade = 0
      End With
  
  End With
  </code></pre>
  
  <p>Currently the code executes until my conditional formatting block and then it tells me that the Object Variable or With block is not set.</p>