Hinweise zum neuen Forum
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Excel "Zebra" Look

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10362
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Excel "Zebra" Look

Beitrag von AUGE_OHR » Do, 17. Jun 2010 0:38

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) 4231 mal betrachtet
wie bekomme ich die "weg" ?
gruss by OHR
Jimmy

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13588
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim
Kontaktdaten:

Re: Excel "Zebra" Look

Beitrag von brandelh » Do, 17. Jun 2010 9:18

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: 10362
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Excel "Zebra" Look

Beitrag von AUGE_OHR » Do, 17. Jun 2010 10:06

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: 10362
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Excel "Zebra" Look

Beitrag von AUGE_OHR » Do, 17. Jun 2010 15:57

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
UDF-Programmierer
UDF-Programmierer
Beiträge: 61
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen

Re: Excel "Zebra" Look

Beitrag von BJelinek » Fr, 03. Jun 2016 12:22

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.
Gruß
Bernd

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13588
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim
Kontaktdaten:

Re: Excel "Zebra" Look

Beitrag von brandelh » Fr, 03. Jun 2016 13:11

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
UDF-Programmierer
UDF-Programmierer
Beiträge: 61
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen

Re: Excel "Zebra" Look

Beitrag von BJelinek » Sa, 04. Jun 2016 12:50

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
Gruß
Bernd

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast