Seite 1 von 1

Excel "Zebra" Look

Verfasst: Do, 17. Jun 2010 0:38
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) 11740 mal betrachtet
wie bekomme ich die "weg" ?

Re: Excel "Zebra" Look

Verfasst: Do, 17. Jun 2010 9:18
von brandelh
Hi,

diese kleinen Schaltflächen rechts werden in Excel angezeigt, wenn man [Daten / Filter / Autofilter] aktiviert hat.

Re: Excel "Zebra" Look

Verfasst: Do, 17. Jun 2010 10:06
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 )

Re: Excel "Zebra" Look

Verfasst: Do, 17. Jun 2010 15:57
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.

Re: Excel "Zebra" Look

Verfasst: Fr, 03. Jun 2016 12:22
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.

Re: Excel "Zebra" Look

Verfasst: Fr, 03. Jun 2016 13:11
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 ?

Re: Excel "Zebra" Look

Verfasst: Sa, 04. Jun 2016 12:50
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