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.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich überprüft, dass der folgende code läuft bis Ende:
Glück.
InformationsquelleAutor jacouh