Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1332to1336
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Viele Textboxen auf einmal Färben
05.10.2013 08:16:11
Sebastian
Hallo Leute,
in meinem Code komme ich an eine stelle in der ich ca 20 Textboxen färben möchte. Normal geht das ja mit:
txtBox1.BackColor = RGB(255, 255, 170)
txtBox2.BackColor = RGB(255, 255, 170)
txtBox3.BackColor = RGB(255, 255, 170)
... etc.
Ist es sinnvol das so zu schreiben oder bibt es da etwas übersichtlicheres bzw kürzeres?
Vielen dank
Gruß
Sebastian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Viele Textboxen auf einmal Färben
05.10.2013 08:33:44
Martin
Hallo Sebastian,
färbe die Textboxen mit einer Schleife:
Sub txtBoxColor()
Dim i As Integer
For i = 1 To 20
Controls("txtBox" & i).BackColor = RGB(255, 255, 170)
Next
End Sub
Viele Grüße
Martin

AW: Viele Textboxen auf einmal Färben
05.10.2013 09:05:48
Sebastian
Wie sieht es da mit der Preformance aus?

AW: Viele Textboxen auf einmal Färben
05.10.2013 18:25:45
Martin
Hallo Sebastian,
warum soll die Performance darunter leiden? Hauptvorteile sind der eingesparte Makrocode und eine kinderleichte Anpassung, falls die mal geändert werden soll (...muss nicht 20mal geändert werden).
Viele Grüße
Martin

AW: Viele Textboxen auf einmal Färben
05.10.2013 20:22:47
Sebastian
Jepp da hast du recht. und das funktioniert.
Aber ich habe mich eben mal gefragt, ob so eine schleife mehr zeit zum berechnen braucht als wenn ich jedem einzelnen Textfeld ein farbe zuweise.
Wobei das wahrscheinlich auch nicht groß den unterschied macht.
Vielen Dank nochmal.

Anzeige
AW: Viele Textboxen auf einmal Färben
06.10.2013 06:57:15
Martin
Hallo Sebastian,
Schleifen sind absolut üblich und notwendig. Michael Schwimmer hat ein Excel VBA-Buch "Excel-VBA, Einstieg für Anspruchsvolle" herausgegeben, wo er auch sehr intensiv auf die Performance von Makros eingeht. Es hat verschiedene Methoden auf Zeit gemessen und dabei festgestellt, dass For...Each-Schleifen besonders schnell sind. Wenn sich dein Makro auf alle TextBoxen bezieht, kannst du auch folgenden Code anwenden:
Sub ForEachSchleife()
Dim cnt As MSForms.Control
For Each cnt In Me.Controls
If TypeName(cnt) = "TextBox" Then cnt.BackColor = RGB(255, 255, 170)
Next
End Sub
Aber aufgrund der zusätzlichen If-Abfrage würde es mich nicht wundern, wenn dieser Code trotzdem langsamer ist. Aber im Grunde geht das so schnell, dass die Laufdauer dieser Codes keine Relevanz hat.
Viele Grüße
Martin

Anzeige
AW: Viele Textboxen auf einmal Färben
06.10.2013 11:41:33
Christian
Hallo Hans,
da du leider meine emails ignorierst, hier per Forum:
Bitte meine Datei
https://www.herber.de/bbs/user/87393.xls
löschen!
Vielen Dank,

schon mal probiert? Performance ?
05.10.2013 19:16:19
robert
owT=ohne weiteren Text

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige