PDA

Vollständige Version anzeigen : Zellen in Excel unter VBA farbig gestalten


Dina
08.05.2001, 08:48
Hallo!
Folgendes: Ich möchte unter VBA eine Excel Tabelle öffnen. Einige Inhalte sollen farbig dargestellt werden. Wie ist dies möglich?
Danke!

Alexander Jan Peters
08.05.2001, 11:02
<font color="#000000" size="2" face="Tahoma">Hallo,

ist eigentlich eher eine Frage für das Excel-Forum, aber ich nehm mal an das Ganze erfolgt über Automation von Access aus.
Beschreib mir doch mal bitte, wo von diese Farbmarkierung abhängig ist?

Gruß

A.J. Peters

Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></font>

Dina
08.05.2001, 13:14
Hallo!
Mit einem Button in Access öffne ich eine Excel Tabelle, die in den Zeilen eine Liste von Mitarbeitern ausgibt und in den Spalten
die Datumsangaben von einem Jahr. Aus einer Access Tabelle sollen nun die Zellen mit Gründen gefüllt werden (dies funktioniert auch schon). Ein bestimmter Grund muss farbig ausgegeben werden. Wie stelle ich das mit VBA an?
Wäre wirklich nett, wenn mir jemand weiterhelfen könnte!
Gruß und Danke!
Dina

Alexander Jan Peters
08.05.2001, 13:25
<font color="#000000" size="2" face="Tahoma">Hallo,

also erstmal ein kleiner Link, der speziell für Excel (fast) jede Frage klärt.
http://www.herber.de
Ich nehme an, der Export der Datenwird über die DoCmd-Methode gelöst, es wäre dann sicher am Einfachsten, per VBA durch die Zeilen und Spalten der neu angelegten Tabelle zu laufen und den Feldinhalt zu prüfen.
Falls das Ganze mit CreateObject gelöst ist, dann kann man beim Füllen der Zellen gleich die entsprechende Farbe setzen.
Poste doch mal den Code, der im Ereignis BeimKlicken eingetragen ist.

Gruß

A.J. Peters</font>

Dina
08.05.2001, 13:41
Wir haben es mit ner DDE Anweisung gemacht!

A.S.
08.05.2001, 13:50
Hi Dina,

per DDE weiß ich nicht, per OLE-Automation gehts so:


Dim MyExcel As Object

Public Function test()
Set MyExcel = CreateObject("Excel.Application")
MyExcel.Visible = True
MyExcel.workbooks.Add
MyExcel.activeworkbook.saveas ("C:\test123.xls")
MyExcel.activesheet.range("A1:B3").select
MyExcel.selection.interior.colorindex = 6
MyExcel.selection.interior.pattern = 1 ' xlSolid
MyExcel.selection.font.colorindex = 3
MyExcel.activeworkbook.Save
MyExcel.activeworkbook.Close
MyExcel.Quit
Set MyExcel = Nothing
End Function


Näheres zu den einzelnen Befehlen des Excel-Objects dürfte sich der Excel-Online-Hilfe unter "Inhalt & Index", Register "Inhalt", Buch "Visual Basic für Microsoft Excel" entnehmen lassen.

HTH

Arno

Dina
08.05.2001, 13:56
Ok, trotzdem danke für deine Hilfe!
Gruß Dina

Alexander Jan Peters
08.05.2001, 14:40
<font color="#000000" size="2" face="Tahoma">Hallo,

bei DDE muß ich leider auch passen, da kenn ich mich nicht mehr aus.
Ich meine mich zu erinnern, daß man Makrobefehle aus bestimmten Anwendungen (Excel gehört dazu) in folgender Syntax verwendet DDEExecute 'Kanalnummer', "[Insert ""Test-Text""]" , aber leider kenne ich den entsprechenden Makrobefehl nicht.
Halt Dich mal an das Beispiel von Arno, ist eh besser, langsam mal auf die modernere OLE-Automation umzusteigen.

Gruß

A.J. Peters</font>