Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1036to1040
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

Füllfarbe VBA

Füllfarbe VBA
14.01.2009 14:16:00
Faby71
Hallo,
wie kann ich:
1- Suchen in der Bereich A8:A372 alle Zelle die eine Füllfarbe Rot haben
2- und trägt die Füllfarbe (Rot) bei der Spalte D bis U oder Spaltenr 4 bis 21
z.B.: A10 und A36 haben eine Füllfarbe Rot dann D10:U10 und D10:D36 muss mit Rot gefüllt werden
für jeder Hilfe bin ich dankbar
Gruß
Faby71

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Füllfarbe VBA
14.01.2009 14:30:33
Tino
Hallo,
geht es hiermit?
Den Farbindex musst Du eventuell noch anpassen, 3 ist in der Regel rot.
Sub Test()
Dim Bereich As Range, myZelle As Range

'Farbindex der gesucht werden soll 
Const SuchFarbe As Integer = 3
'Bereich der durchsucht werden soll 
Set Bereich = Range("A8:A372")

Application.ScreenUpdating = False
 For Each myZelle In Bereich
    If myZelle.Interior.ColorIndex = SuchFarbe Then
      Range(Cells(myZelle.Row, "D"), Cells(myZelle.Row, "U")).Interior.ColorIndex = SuchFarbe
     Else
      Range(Cells(myZelle.Row, "D"), Cells(myZelle.Row, "U")).Interior.ColorIndex = xlNone
    End If
 Next myZelle
Application.ScreenUpdating = True
End Sub


Gruß Tino

Anzeige
AW: Füllfarbe VBA, Performance
14.01.2009 14:40:30
D.Saster
Hallo Tino,
auch das ist eine Performance-Bremse:

Range(Cells(myZelle.Row, "D"), Cells(myZelle.Row, "U")).Interior.ColorIndex = SuchFarbe


Warum nicht gleich 4 und 21? So muss das erst interpretiert werden.
Habe heute wohl meinen Meckertag.
Gruß
Dierk

AW: Füllfarbe VBA, Performance
14.01.2009 14:45:45
Tino
Hallo,
macht bei 20000 Zellen eine Hundertstel Sekunde aus.
Gruß Tino
AW: Füllfarbe VBA, Performance
14.01.2009 15:15:00
D.Saster
Hallo,
ich habe 0,183 Sekunden.
Lahme Kiste.

Sub tt1()
Dim i, t
t = Timer
Application.ScreenUpdating = False
For i = 1 To 20000
Range(Cells(i, "D"), Cells(i, "U")).Interior.ColorIndex = 3
Next
Application.ScreenUpdating = True
MsgBox Timer - t
End Sub



Sub tt2()
Dim i, t
t = Timer
Application.ScreenUpdating = False
For i = 1 To 20000
Range(Cells(i, 4), Cells(i, 21)).Interior.ColorIndex = 3
Next
Application.ScreenUpdating = True
MsgBox Timer - t
End Sub


Gruß
Dierk

Anzeige
AW: Füllfarbe VBA, Performance
14.01.2009 15:32:00
Tino
Hallo,
bei mir
Timer - i = 2,09375

Sub Test()
Dim Bereich As Range, myZelle As Range
Dim i As Single
i = Timer
'Farbindex der gesucht werden soll
Const SuchFarbe As Integer = 3
'Bereich der durchsucht werden soll
Set Bereich = Range("A1:A20000")
Application.ScreenUpdating = False
For Each myZelle In Bereich
If myZelle.Interior.ColorIndex = SuchFarbe Then
Range(Cells(myZelle.Row, "D"), Cells(myZelle.Row, "U")).Interior.ColorIndex = SuchFarbe
Else
Range(Cells(myZelle.Row, "D"), Cells(myZelle.Row, "U")).Interior.ColorIndex = xlNone
End If
Next myZelle
Application.ScreenUpdating = True
Debug.Print Timer - i
End Sub


Timer - i = 2,083438


Sub Test2()
Dim Bereich As Range, myZelle As Range
Dim i As Single
i = Timer
'Farbindex der gesucht werden soll
Const SuchFarbe As Integer = 3
'Bereich der durchsucht werden soll
Set Bereich = Range("A1:A20000")
Application.ScreenUpdating = False
For Each myZelle In Bereich
If myZelle.Interior.ColorIndex = SuchFarbe Then
Range(Cells(myZelle.Row, 4), Cells(myZelle.Row, 21)).Interior.ColorIndex = SuchFarbe
Else
Range(Cells(myZelle.Row, 4), Cells(myZelle.Row, 21)).Interior.ColorIndex = xlNone
End If
Next myZelle
Application.ScreenUpdating = True
Debug.Print Timer - i
End Sub


Gruß Tino

Anzeige
2 If's = 20'000 zellen ? (owT)
14.01.2009 15:34:51
RS

AW: 2 If's = 20'000 zellen ? (owT)
14.01.2009 15:41:00
Tino
Hallo,
Range("A1:A20000") = bei mir 20000 Zellen, bei Dir nicht?
Gruß Tino
AW: Füllfarbe VBA, Performance
14.01.2009 14:50:45
Faby71
Hallo Tino, Diek,
es funktioniert nicht...das Modul löscht die Füllfarbe von Spalte D bis U und füllt keine Rote Farbe
Noch eine Idee?
Ist das wirklich die Füllfarbe, oder...
14.01.2009 14:52:00
RS
wurde die Farbe mit einer bedingten Formatierung erzeugt?
Dann funktioniert der Code nicht!
Grüsse RS
AW: Ist das wirklich die Füllfarbe, oder...
14.01.2009 14:58:00
Faby71
ok, stimmt die Farbe würde mit eine Bedingte Formatierung erzeugt..gibt es keine Losüng dafür?
dann brauchst du kein VBA, sondern...
14.01.2009 15:02:00
RS
sondern stellst die gleich bedingte Formatierung als Formel ist in den Zellen von Spalte D bis U rein.
Grüsse RS
AW: Ist das wirklich die Füllfarbe, oder...
14.01.2009 15:06:00
Tino
Hallo,
mach es wie von RS vorgeschlagen.
Mit VBA ist dies zu aufwendig.
Man müsste die Bedingung auslesen, prüfen ob diese erfüllt ist und ob diese die Zelle rot färbt.
Ist machbar aber sehr aufwendig.
Gruß Tino
Anzeige
u.v.a steht, DAS überhaupt...
14.01.2009 14:51:38
RS
nicht in den Anforderungen:

Else
Range(Cells(myZelle.Row, "D"), Cells(myZelle.Row, "U")).Interior.ColorIndex = xlNone


Grüsse RS

AW: u.v.a steht, DAS überhaupt...
14.01.2009 14:58:50
Tino
Hallo,
was soll sonst aus den bereits roten Zellen werden, es würde alles nicht mehr stimmen?
Ist dies nicht gewollt wird es schon die entsprechende Rückmeldung geben!
Gruß Tino
und woher weisst Du, was vorher...
14.01.2009 15:05:00
RS
für eine Füllfarbe in den Zellen war ?
Grüsse RS
AW: und woher weisst Du, was vorher...
14.01.2009 15:12:15
Tino
Hallo,
stehe ich auf irgendeinem Schlauch?
Wenn es so wäre, wäre bestimmt eine entsprechende Rückmeldung gekommen.
Hellsehen kann ich noch nicht.
Ich finde diese Diskusion irgendwie überflüssig (was wäre wenn).
Gruß Tino
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige