Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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
Inhaltsverzeichnis

Loop / Schleife um Zellen zu färben

Loop / Schleife um Zellen zu färben
14.10.2015 16:56:58
udo
Hallo Forum, sollte bitte nochmal eure Unterstützung haben.
Würde gerne in Selection.Change Ereignis eine Prozedur laufen lassen,
die mir in der aktiven Zeile dann mitläuft, sobald ich in dieser Zeile in den Spalten hin oder her springe ( per Pfeile der Tastatur ).
ich fülle die Zellen jew. mit Namenskürzeln FT, HK , DS oder so
Verweisbereich:
In einem Zellbereich ( E200:H400 ) stehen in der ersten Spalte die Kürzel, und in den rechten 3 Spalten die jew. RGB ( Farbwerte ) F200 = R Wert, G200 G und H200 = B Wert. das ganze abwärts bis Zeile 400.
In diesem Zellbereich hat demnach jedes Kürzel andere Farb-Zahlenwerte.
Arbeitsbereich:
Der Bereich in dem ich nun die Prozedur laufen lassen will wäre von Spalte S(=Spalte19):PB(=Spalte418)
eben in der jeweiligen Zeile 22:200
Verhalten der Prozedur:
sobald sich in der aktiven Zeile ein Wert hinzufügt, oder abändert, oder dezimiert, soll die Prozedur von Spalte S : PB durchlaufen und anhand des entdeckten Kürzel dann aus der Verweisbereich durch die angelegten Zahlenwerte in den drei RGB Spalten dann die Zelle mit dem entspr, Kürzel dann entsprechend färben ...
Dim r As Long, c As Long
r = ActiveCell.Row
c = ActiveCell.Column
With Cells( r, c )
.Interior.Color = RGB( Verweis, Verweis, Verweis )
end with
Ich habe es bislang ohne Schleife gelöst, etwas aufwändig und daher auch sehr träge beim Verwenden ( siehe Beispiel https://www.herber.de/bbs/user/100794.xlsm )
Im Beispiel läuft es sauber, jedoch in der Vollwertigen Datei hakelts schon etwas
da da mehrere Sachen greifen.
Kann es sein das dies über eine Schleife in der jew. Zeile dann schneller läuft ?
Ich komm damit nicht weiter, sollte bitte eure Hilfe beanspruchen
Bin für jede Hilfe dankbar
lG udo

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Loop / Schleife um Zellen zu färben
14.10.2015 21:37:34
Daniel
Hi
ich wüsste jetzt nicht, wo man da mit einer Schleife was ändern könnte.
du könntest ein paar Dinge im Code vereinfachen.
ob die das ganze aber wirklich schneller machen, weiss ich nicht.
- Statt Cells(r, c) bzw Cells(r,c + 1) könntest du TARGET(1) bzw TARGET(1).OFFSET(0, 1) verwenden (für die anderen Versatzrichtungen natürlich auch)
- dein IF-THEN-Konstrukt ist etwas altmodisch
du kannst die Sprungmarke und das GOTO weglassen, wenn du stattdessen mit IF-THEN-ELSEIF-ELSEIF-ELSE-END IF arbeitest
sieht in etwa so aus:
dein Spaghetti-Code:
...
IF Bedinung1 Then
Goto SprungMarke
End If
If Bedingung2 Then
Goto SprungMarke
End If
If Bedingung3 Then
Goto SprungMakre
End If
SprungMarke
...
etwas moderner:
...
IF Bedingung1 Then
ElseIF Bedingung2 Then
ElseIf Bedingung3 Then
End If
...

- verwende in der Bedingungsprüfung statt langer AND - Verknüpfungen geschachtelte IF-THENs mit nur einer Bedingung:
If a AND b AND c Then
End IF

ist langsamer als
IF a Then
if b Then
if c Then
end if
end if
end if

weil im ersten Fall immer alle drei bedingungen geprüft werden.
in der zweiten Version werden b und c nur dann geprüft wenn auch a erfüllt ist, dh wahrscheinlich deutlich weniger oft.
die Reihenfolge der Prüfungen kann hier einen Einfluss haben, dh die Bedingung, welche am wenigsten wahrscheinlich erfüllt wird, sollte als erste geprüft werden.
Allerdings müsstest du hierbei dann doch auf Goto-Sprung zurückgreifen, um den Lauf abzubrechen, wenn ein Fall zutraf.
Kleiner Tip noch am Rande, das ganze wird übersichlicher, wenn man END-Zeilen von IF und WITH auf die gleiche Spalte setzt wie das dazugehörige IF und WITH und nicht weiter einrückt, dann sieht man besser wo der Block endet.
Gruss Daniel

Anzeige
lieben Dank für deine Hilfe Daniel...
15.10.2015 09:05:06
udo
... das mit der Reihenfolge in der Abfrage hab ich nun verstanden, werde deine Ansätze gerne umsetzen, Danke dir wiedermal sehr für deine Mühen.
Grüße aus Stuttgart
udo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige