Excel "Zebra" Look

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Excel "Zebra" Look

Beitrag von AUGE_OHR »

hi,

Code: Alles auswählen

//
// ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$U$226"), , xlYes).Name = _"Tabelle1"
//
myRange := oSheet:range( "A1:"+cEnde+LTRIM( STR(nLen ) ) )
oWorkBook:workSheets(1):ListObjects:Add(xlSrcRange, myRange, , xlYes):Name = ID_USER

//
// Range("Tabelle1[#All]").Select
//
*oWorkBook:workSheets(1):usedRange:Select
myRange:Select

//
// ActiveSheet.ListObjects("Tabelle3").TableStyle = "TableStyleLight15"
//
oWorkBook:workSheets(1):ListObjects(ID_USER):TableStyle := "TableStyleLight15"
damit bekomme ich einen Zebra Look hin ... aber ist das auch dafür "gedacht" ?

in Excel : Tabell öffnen / unter "Start" dann "Als Tabelle formatieren" / auswählen und Bereich bestätigen.

nun mein "Problem" : in der 1st Zeile sind jetzt Comboboxen ...
ExcelStyle.JPG
ExcelStyle.JPG (8.13 KiB) 11338 mal betrachtet
wie bekomme ich die "weg" ?
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Excel "Zebra" Look

Beitrag von brandelh »

Hi,

diese kleinen Schaltflächen rechts werden in Excel angezeigt, wenn man [Daten / Filter / Autofilter] aktiviert hat.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Excel "Zebra" Look

Beitrag von AUGE_OHR »

brandelh hat geschrieben:diese kleinen Schaltflächen rechts werden in Excel angezeigt, wenn man [Daten / Filter / Autofilter] aktiviert hat.
ok, danke das werde ich prüfen.

ich habe mir nun so beholfen

Code: Alles auswählen

   //
   // Rows("6:6").Select
   // Selection.EntireRow.Hidden = True
   //
   oSheet:Rows("6:6"):setProperty( "Hidden", .T. )
wobei man :setProperty() nehmen muss sonst "meckert" er über "Hidden" ( Keyword )
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Excel "Zebra" Look

Beitrag von AUGE_OHR »

Code: Alles auswählen

TableStyle = "TableStyleLight15"
tja dazu muss man schon Excel2007 haben ...
aber wenigstens das geht

Code: Alles auswählen

//
// mit Gridline statt Zebra
//
oWorkBook:workSheets(1):PageSetup:PrintGridlines := .T.
gruss by OHR
Jimmy
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Excel "Zebra" Look

Beitrag von BJelinek »

Hallo Zusammen,

Ich hab das mit dem Zebra-Muster noch nicht umsetzen können.

Die Excel Makro Aufzeichnung ergibt folgendes für die bedingte Formatierung.

Code: Alles auswählen

    Range("A1:H18").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=REST(ZEILE();2)=0"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.349986266670736
    End With
    Selection.FormatConditions(1).StopIfTrue = False
Nur wie übersetze ich dies in Xbase und Activx.
Ich steh da auf dem Schlauch.
Kann mir da jemand weiter helfen?
Danke schon mal im Vorraus.
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Excel "Zebra" Look

Beitrag von brandelh »

Microsoft setzt eine Variable automatisch ...

Code: Alles auswählen

 Range("A1:H18").Select // wähle das für weitere Aktionen
    Selection.                         


bei uns muss man z.B. die oRange speichern:

oRange := Range("A1:H18")
oRange.... mach was

weiter oben hat Jimmy ein Beispiel (ich hab die Syntax nicht im Kopf):

Code: Alles auswählen

   // VBA Schreibweise ....
   // Rows("6:6").Select
   // Selection.EntireRow.Hidden = True

   // Xbase++ ... manchmal kann man die Variablen direkt ansprechen, bei Namenskonflikten über diese Schreibweise
   oSheet:Rows("6:6"):setProperty( "Hidden", .T. ) // HIDDEN ist in Xbase++ ein reserviertes Wort
aus der Hüfte übersetzt, ohne Compilerprüfung

Code: Alles auswählen

oRange := Range("A1:H18")
oRange:FormatConditions.Add( ... Parameter müssen GENAU nach Stelle angegeben werden, das funktioniert so nicht: Type:=xlExpression, Formula1:= "=REST(ZEILE();2)=0"
nAnz := oRange:FormatConditions:Count // ob 0 oder 1 basiert muss man ausprobieren oder nachlesen
oRange:FormatConditions(nAnz).SetFirstPriority
for i := 1 to nAnz
    oRange:FormatConditions(i):Interior:PatternColorIndex := xlAutomatic
    oRange:FormatConditions(i):Interior:ThemeColor := xlThemeColorDark1
    oRange:FormatConditions(i):Interior:TintAndShade := -0.349986266670736
next
// das sagt mir nix
oRange:FormatConditions(1).StopIfTrue := False // oder ?
oRange:FormatConditions(nAnz).StopIfTrue := False // oder ?
Gruß
Hubert
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Excel "Zebra" Look

Beitrag von BJelinek »

Danke Hubert für Deine schnelle Hilfe.

Habs jetzt bei mir so eingebaut und funktioniert so.
Getestet mit Excel 2010 und 2013.

Vorallem richtig schnell, wenn man jede zweite Zeile einfärbt dauert es je nach Anzahl
der Zeilen richtig lange und bleibt manchmal hängen.

Code: Alles auswählen

FUNC BFBExcelZebra(oSheet,cRange)
local oRange
oRange := oSheet:Range(cRange)
oRange:FormatConditions:Add( xlExpression,,"=REST(ZEILE();2)=0", )
* oRange:FormatConditions(1):SetFirstPriority
* Dies gibt eine Fehlermeldung. Funktioniert aber trotzdem.
oRange:FormatConditions(1):Interior:PatternColorIndex := xlAutomatic
oRange:FormatConditions(1):Interior:ThemeColor := xlThemeColorDark1
oRange:FormatConditions(1):Interior:TintAndShade := -0.349986266670736
oRange:FormatConditions(1):StopIfTrue := .f.
return nil
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten