Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
VBA Library für Conditional Formatting
zurück: Undo im Unterformular weiter: ISO Wochennummer berechnen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
09. Dez 2009, 17:18
Rufname:

VBA Library für Conditional Formatting - VBA Library für Conditional Formatting

Nach oben
       Version: Office 2007

Hallo zusammen,

Conditional Formatting ist eine feine Sache in Endlosformularen: Man kann jedem Feld Eigenschaften innerhalb einer Zeile in Abhängigkeit von einfachen Feldwerten oder komplexen Ausdrücken zuweisen. Sogar eine Formatierung zuweisen, wenn ein Feld den Fokus erhält.

Aber wo Licht ist, ist auch Schatten: Die bedingte Formatierung kostet richtig Performance, wenn man in größeren Listen scrollt oder auf große Listen Filter oder Sortierungen anwendet.

Außerdem kann man neben der Default-Formatierung lediglich drei weitere bedingte Formatierungen einstellen, was auch nicht gerade üppig ist.

Beide Probleme kann man mit der angehängten VBA-Library (in Grenzen) lösen.
Enthalten sind Funktionen, die die bedingte Formatierung eines Feldes (Textbox oder Combobox) auslesen, löschen oder schreiben können. Zusätzlich kann man die Einstellungen in einer Datenbanktabelle speichern (im Modul geschrieben für einen SQL Server und ein Access Projekt, läßt sich aber ganz leicht an Access Tabellen anpassen).
Der CREATE-Befehl für SQL Server ist im Header enthalten.

Die übrigen Funktionen können auch ohne weitere Tabellen verwendet werden. Man kann nun einen Button im Formular anbieten, der einfach alle Controls eines Formulars durchläuft, deren Einstellungen für bedingte Formatierung als Variablen oder in eine Tabelle speichert und diese dann im Control löscht.
Ergebnis ist eine "saubere" Tabelle, die keinerlei Farbspielereien mehr enthält, dafür aber auch wieder im Volltempo gescrollt werden kann.

Dies kann man zum Beispiel so erreichen:
Code:
    For Each ctl In Me.Controls
        If (TypeOf ctl Is TextBox) Or (TypeOf ctl Is ComboBox) Then
            procCONDFSaveCtl fnCONDFGetCtl(ctl), ctl.Name
            procCONDFDeleteAll ctl
        End If
    Next ctl
Dabei werden nur die bedingten Formatierungen gelöscht, wenn das Feld selbst irgendwie gefärbt ist, bleibt das unverändert, das stört aber das Scrolltempo nicht.

Darüber hinaus kann man die Funktionen dafür verwenden, um z.B. in Abhängigkeit der ausgewählten Zeile die bedingten Formatierungen neu zu setzen, was in gewissen Grenzen die Anzahl der möglichen Formatierungen erhöhen kann. Da die Änderungen alle Zeilen betreffen, ändern sich natürlich auch die Formatierungen für den Rest des Formulars. In einem Einzelformular dagegen kann man so die möglichen Formatierungen programmiertechnisch beinahe beliebig erweitern - dort hat man i.d.R. auch nicht die Performance-Probleme.

Das Attachment kann einfach im VBA-Editor mit "Importieren" als Modul eingefügt werden.

Viel Spaß damit...Smile

Christian



modConditionalFormattingV1.zip
 Beschreibung:
VBA-Library für Conditional Formatting (Bedingte Formatierung)

Kleiner Bugfix...

Download
 Dateiname:  modConditionalFormattingV1.zip
 Dateigröße:  3.52 KB
 Heruntergeladen:  165 mal

Willi Wipp
Moderator


Verfasst am:
30. Apr 2010, 02:51
Rufname:
Wohnort: Raum Wiesbaden


AW: VBA Library für Conditional Formatting - AW: VBA Library für Conditional Formatting

Nach oben
       Version: Office 2007

{Dieser Beitrag nimmt das Thema aus den unbeantworteten Themen heraus}
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Berichte: CrossTabReport nach Rogers Access Library erweitern 7 edesign61 151 16. Jan 2014, 16:56
edesign61 CrossTabReport nach Rogers Access Library erweitern
Keine neuen Beiträge Access Programmierung / VBA: Office Graphics Library 1 pezi4u 333 13. Jun 2012, 20:43
Zauberbaecker Office Graphics Library
Keine neuen Beiträge Access Programmierung / VBA: Speichern-Button ausgegraut bei eingebundener Library 8 joem 316 16. Nov 2011, 20:37
KlausMz Speichern-Button ausgegraut bei eingebundener Library
Keine neuen Beiträge Access Programmierung / VBA: Pivot conditional format per VBA 1 STF-DIR 445 23. Jun 2011, 06:35
Thomas Ramel Pivot conditional format per VBA
Keine neuen Beiträge Access Berichte: Conditional format mit Bezug auf Detailsumme 0 daredan 251 04. Apr 2011, 15:05
daredan Conditional format mit Bezug auf Detailsumme
Keine neuen Beiträge Access Programmierung / VBA: Verweis Excel 11.0 Object Library -> Crash beim kompilier 0 wuz 836 09. Nov 2010, 17:36
wuz Verweis Excel 11.0 Object Library -> Crash beim kompilier
Keine neuen Beiträge Access Programmierung / VBA: Weitergabe von dlls (Universal 1.0 Type Library, CalAdapter) 1 wuz 1077 03. Nov 2010, 12:47
steffen0815 Weitergabe von dlls (Universal 1.0 Type Library, CalAdapter)
Keine neuen Beiträge Access Programmierung / VBA: Excel Object Library einbinden 3 behda 2789 28. Jun 2010, 11:16
MissPh! Excel Object Library einbinden
Keine neuen Beiträge Access Programmierung / VBA: Verweis einfügen - Microsoft Excel 11.0 Objekt Library 4 helado 2649 13. März 2009, 12:36
helado Verweis einfügen - Microsoft Excel 11.0 Objekt Library
Keine neuen Beiträge Access Programmierung / VBA: controls library einbinden 1 FamLederer 581 14. Mai 2007, 19:19
steffen0815 controls library einbinden
Keine neuen Beiträge Access Programmierung / VBA: Dokumentation Microsoft Outlook 11.0 Object Library 1 rg 4372 14. Mai 2007, 11:06
NichtTerminal Dokumentation Microsoft Outlook 11.0 Object Library
Keine neuen Beiträge Access Formulare: Problem mit Verweis in existierender DB (Object Library) 2 FamLederer 2157 11. Mai 2007, 16:06
Nouba Problem mit Verweis in existierender DB (Object Library)
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum