Exportieren von Access Abfrage nach Excel mit Formatierung

Also ich habe eine Abfrage in access, die ich senden möchten, zurück zu excel. Während der Verwendung des export-Assistenten ist schön und gut, möchte ich hinzufügen, dass die weitere Automatisierung der Export-Prozess. Bisher bin ich mit code arbeiten zu müssen, damit beim export die endgültige excel-Tabelle werden einige Formatierungen. Soweit die grundlegende Formatierung ich bin gut, ich fand zahlreiche Ressourcen, die mir dabei helfen.

Mein problem ist, das ich einrichten möchte eine bedingte Formatierung so, dass, wenn eine bestimmte Spalte(G) einen Wert hat, dann wird die ganze Zeile markiert ist. Ich bin ein wenig verloren auf, wie Sie die bedingte Formatierung für Excel durch vba-code in Access

Hier ist, was ich haben

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

Derzeit der code wird ausgeführt, bis meine bedingte Formatierung-block und dann sagt es mir, dass die Objekt-Variable oder With-block nicht festgelegt ist.

Bei der Zuweisung eines Wertes an eine Objekt-variable (in diesem Fall eine Palette), die Sie verwenden müssen Set. Set rng = .Range("A2:J20") (drop die .Wählen Sie)
Nur eine kurze Nebenbemerkung, die vielleicht helfen: ich finde es sinnvoll, die Makro Aufzeichnen Funktion in Excel. Schalten Sie es manuell tun, was Sie wollen Excel für Sie tun - und dann schalten Sie es aus und überprüfen Sie die VBA-Quelle. Sie können kopieren Sie die VBA über Access, und verwenden Sie es nach ein paar kleinen änderungen (Erstellen der Excel.Application-Objekt, und indem Konstanten und top-level-Anweisungen mit dem Objekt). Wenn Sie nicht super stark in der Excel-VBA-dann es ist ein guter Weg, um Anhaltspunkt in all die kleinen Nuancen der Formatierung von Excel über VBA.
Das ist mein problem gelöst, vielen Dank
Danke für die Ratschläge, ich habe eigentlich schon viel Formatierung, es half eine Menge lernen über die syntax von VBA. Das problem hatte ich auch war immer, dass die Arbeit mit Access-VBA.

InformationsquelleAutor Kevin Malloy | 2013-10-23

Schreibe einen Kommentar