Verwenden von FormatConditions

25. Juli 2008 09:31

Ich habe folgenden VBA Code:
Code:
Range("D2:E5").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="40"
Selection.FormatConditions(1).Font.ColorIndex = 2
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, Formula1:="40"
Selection.FormatConditions(2).Font.ColorIndex = 4
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="0"
Selection.FormatConditions(3).Font.ColorIndex = 3

ich bekomme es nun leider nicht hin, diesen in Dynamics um zu setzen.
Kann mir vielleicht jm auf die Sprünge helfen?

Re: Verwenden von FormatConditions

15. März 2010 18:47

Hallo Lape,

hast du mittlerweile schon Lösung für dieses Problem gefunden?

Gruss

Re: Verwenden von FormatConditions

17. Juni 2010 11:36

Ja und zwar funktioniert es wie folgt

Code:
//Bedingte Formatierungen
Sheet.Range('A4'+':B3').FormatConditions.Delete;
Sheet.Range('A4'+':B3').FormatConditions.Add(1, 3, 0);
Sheet.Range('A4'+':B3').FormatConditions.Item(1).Font.ColorIndex := 2;

Re: Verwenden von FormatConditions

17. Juni 2010 13:42

lape hat geschrieben:Ja und zwar funktioniert es wie folgt

Code:
//Bedingte Formatierungen
Sheet.Range('A4'+':B3').FormatConditions.Delete;
Sheet.Range('A4'+':B3').FormatConditions.Add(1, 3, 0);
Sheet.Range('A4'+':B3').FormatConditions.Item(1).Font.ColorIndex := 2;


Hallo lape,

Danke für die Antwort.
Kannst du mir sagen was das Add(1, 3, 0) zu bedeuten?

Weisst du zufällig ob es ein Tips oder Dokumentation gibt wie man die Excel-Makrobefehle in C/AL richtig entschlüsseln kann?

HOW TO EXCEL REPORT :)

24. Juni 2010 14:54

(xlCellValue, Operator, Formula1)
sind die drei argumente

Sheet.Range('A1').FormatConditions.Add(1, 3, 0);
Müsste =WENN(A1<0) entspechen. Genau weiß ich es aber nciht mehr ist ja fast n Jahr her jetzt :)

Eine gute Quelle hab ich selber nicht gefunden.
Ich habe es so gemacht, dass ich in Excel unter Extras die Makroaufzeichnung gestartet habe, dann das ausgeführt, was ich durchführen wollte und mir dann das Makro angesehen und probiert. Die Argumente sind in C/Side eigentlich immer nummerisch und rest muss zur Not dann Google her halten. Vielleicht hilft dir das ja weiter.

Vielleicht helfen dir meine Notizen ein wenig
Code:
Excel Report erstellen

1.Variablen

Name   DataType   Subtype   
Excel   Automation   'Microsoft Excel 11.0 Object Library'.Application   
Book   Automation   'Microsoft Excel 11.0 Object Library'.Workbook   
Range   Automation   'Microsoft Excel 11.0 Object Library'.Range   
Sheet   Automation   'Microsoft Excel 11.0 Object Library'.Worksheet   
Bedingt   Automation   'Microsoft Excel 11.0 Object Library'.FormatConditions   

2.Erstellen des Dokuments

//Excel starten
CREATE(Excel);
//Excel sichbar machen
Excel.Visible(TRUE);
//Excel Formular erstellen
Book := Excel.Workbooks.Add(-4167);

//Arbeitsblatt hinzufügen
Sheet:=Book.Sheets.Add;
//Namen für Arbeitsblatt definieren
Sheet.Name := „Ich bin das Arbeitsblatt“;

//Werte in Zellen schreiben
Sheet.Range('A1').Value := Hallo;
//Schriftgröße setzen
Sheet.Range('A1').Font.Size := '1';
//Schriftfarbe farbig hinterlegen
Sheet.Range('A1').Font.ColorIndex := 2;
//Hintergrundfarbe
Sheet.Range('A1').Interior.ColorIndex := 19;
//Schriftart
Sheet.Range('A1').Font.Name := 'Tahoma';

//Zellen verbinden
Sheet.Range('A1:C1').Merge;
//90° drehen
Sheet.Range('A1:C1').Orientation := 90;
//Verticale ausrichtung (1=links, 2=mitte, 3=rechts)
Sheet.Range('A1:C1').VerticalAlignment:= 2;
//automatische Breite und Höhe
Sheet.Range('A4:B5').Columns.AutoFit;
//Breite
Sheet.Range('A1’).ColumnWidth := 1.5;
//Bedingte Formatierung
 //Bedingte Formatierung löschen
 Sheet.Range('A1').FormatConditions.Delete;
 //wert > 40
 Sheet.Range('A1').FormatConditions.Add(1, 5, 40);
 //Formatierung Bedingung 1 (Schrift Farbe rot)
 Sheet.Range('A1').FormatConditions.Item(1).Font.ColorIndex := 3;
 //wert < 0
 Sheet.Range('A1').FormatConditions.Add(1, 3, 0);
 //Formatierung Bbedingung 2 (Schrift Farbe grün)
 Sheet.Range('A1').FormatConditions.Item(2).Font.ColorIndex := 2;

//Seite einrichten
//Abstand links/rechts
Sheet:=Excel.ActiveSheet;
Sheet.PageSetup.LeftMargin := 0.3;
Sheet.PageSetup.RightMargin := 0.3;
//?
Sheet.PageSetup.PrintTitleRows := '$1:$3';
//Druckbereich
Sheet.PageSetup.PrintArea := '$A$1:$F$50';
// Kopfzeile (Mitte)
Sheet.PageSetup.CenterHeader := '&20&B'; (könnte Tab Name sein – nicht mehr sicher)
Sheet.PageSetup.CenterHeader := 'created from: ' +USERID + ' ' + FORMAT(TODAY);
//Fußzeile (Mitte)
Sheet.PageSetup.CenterFooter := '&N';
//Fußzeile (rechts) [hier Seitenzahl]
Sheet.PageSetup.RightFooter := 'Seite &S';
//?
Sheet.PageSetup.PrintGridlines := TRUE;
//Querformat
Sheet.PageSetup.Orientation := 2;
//zoom 100%
Sheet.PageSetup.Zoom := 100;

Unbenannt.JPG


Stand 24.06.2010 lape
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.