Per VBA in Excel bedingte Formatierung

Hallo zusammen!

Ich öffne aus Access heraus via VBA eine Exceldatei, das klappt auch prima:

Set exApp = CreateObject(„Excel.Application“)

exApp.workbooks.Open Filename:=„c:“ & Akt_Datum & " Export.xls"
exApp.Visible = True

allerdings, schaffe ich es nicht, über „bedingte Formatierung“ die Zeilen abwechselnd einzufärben zu lassen. In Excel (mit VBA) klappts, wenn ich das über Access-VBA versuche, bekomme ich immer eine Fehlermeldung. Hier der Fehlerhafte Code:

With exApp
.cells(1, 1).Select
.Selection.CurrentRegion.Select
.Selection.FormatConditions.Delete
.Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
„=REST(TEILERGEBNIS(3;$A$1:blush:A1);2)=0“
.Selection.FormatConditions(1).Interior.ColorIndex = 19

.cells(1, 1).Select
.Sheets(„tab_Export“).Name = Sheet

End With

End Function

Hat jemand einen Tipp für mich oder einen anderen Lösungsansatz?

Danke & viele Grüße

Hallo,

versuch mal:

With exApp.ActiveWorkbook

(aber .Sheets mit exApp.Sheets referenzieren, wobei ich

.Sheets(„tab_Export“).Name = Sheet

nicht interpretieren kann…)

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Guten Morgen!

Danke schön, aber leider bekomme ich nun die Fehlermeldung:

„Laufzeitfehler 438, Object unterstützt diese Eigenschaft oder Methode nicht“

Kann ich denn über „Set exApp = CreateObject(„Excel.Application“)“
die Funktion ".ActiveWorkbook.Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
„=REST(TEILERGEBNIS(3;$A$1:blush:A1);2)=0"“ nutzen?

Danke & viele Grüße aus Hannover

Hallo,

ja, ich denke schon, nur die Referenz muß genau stimmen.

(habe das aber jetzt nicht getestet oder nachvollzogen)

Hi!

Was meinst Du mit Referenz anlegen?

Folgender Code funzt leider auch nicht:

with exApp
.ActiveSheet.pagesetup.Orientation = wdOrientLandscape
end with

Ich möchte doch hier nur Querformat einstellen…

Danke & Gruß

Hi!

Was meinst Du mit Referenz anlegen?

Von „Anlegen“ hab ich nichts gesagt. Die Referenzierung der Excel-Objekte/Methoden muß genau stimmen.

z. B
exApp.ActiveSheet.pagesetup.Orientation

Folgender Code funzt leider auch nicht:

with exApp
.ActiveSheet.pagesetup.Orientation = wdOrientLandscape
end with

was willst Du mit einer Word-Konstanten?
Wohl eher

.ActiveSheet.pagesetup.Orientation =xlLandscape 'oder 2, falls Late Binding

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Danke danke! Mit der zwei (late binding) hat es geklappt. Warum nur nicht mit Landscape? Ach, dass ich die Formatierung für Word verwendet habe, ist meiner Verzweifelung geschuldet.

Aber ich komme mit dieser ollen bedingten Formatierung nicht weiter:

.ActiveSheet.Selection.CurrentRegion.Select

das wird mit gelb markiert…

Gruß

Hallo,

das ist doch keine Formatierung…

Vermutlich stimmt hier die vorher erwähnte Referenzierung (Genaue Angabe der einzelnen Objekte/Methoden) nicht.

Schau mal in den Objektkatalog, ob die Reihenfolge, bzw. Gültigkeit stimmt, oder öffne Excel und zeichne dort ein Makro auf, während Du die gewünschte Operation durchführst. Im Excel-Makro (VBA-Prozedur) siehst Du dann die richtige Codierung, die Du nach Access übernehmen kannst und dabei aber an das Automatisierungsobjekt („exApp“) noch anpassen mußt. (Punkte richtig setzen)

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!