Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farbe der bedingten Formatierung

Farbe der bedingten Formatierung
14.08.2006 15:08:50
artur
Hallo alle zusammen,
habe folgendes Problemchen:
Ich habe eine Tabelle in der eine Spalte mit der bedingten Formatierung eingefärbt ist. Manche Felder sind rot, manche gelb und manche habe gar keine Farbe.
Jetzt möchte ich mit hilfe von einem Makro die Zeilen mit der eingefärbten Zelle rauskopieren.
Habe auch soweit alles fertig, nur erkkent der Befehl
If WkSh1.Cells(lZeile1, "J").Interior.ColorIndex größer 0 (das größer Zeichen wird irgendwie vom Forum nicht erkannt)
die Farbe nicht, das es meiner Vermutung nach an der bedingten Formatierung liegt.
Hmm , kann mir da jemand Helfen bitte :((
mfg
artur

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

Betreff
Datum
Anwender
Anzeige
AW: Farbe der bedingten Formatierung
14.08.2006 15:11:17
Maggi
Hi Artur
benütze beim Kopierbefehl die gleichen Bedingungen wie bei der bedingten Formatierung.
mfg Maggi
AW: Farbe der bedingten Formatierung
14.08.2006 15:58:19
artur
Hallo Maggi,
so einfach ist das leider nicht :(,
diese Tabelle enthält ca. 5000 Zeilen. D.h. ich brauche schon ein Makro welches mir die Zeilen mit der eingefärbten Zelle rauskopiert. Mein Makro funktioniert da leider nicht, wie ich schon oben geschildert habe.
Weiß jemand Rat?
Danke!
mfg
artur
AW: Farbe der bedingten Formatierung
14.08.2006 20:31:39
bst
Hi Artur,
versuch's mal hiermit, findet aber nicht alle Varianten:
https://www.herber.de/forum/messages/790183.html
Oder auch hiermit, sollte funktionieren, wenn es um die Hintergrundfarbe geht und diese einfarbig ist: http://michael-schwimmer.de/xlMain.htm (Nr. 82)
Wenn Du aber ganz auf sicher gehen willst bleibt Dir wohl nur eines übrig, die Formeln der bedingten Formatierung nachzubauen.
cu, Bernd
Anzeige
AW: Farbe der bedingten Formatierung
15.08.2006 14:10:22
artur
Hallo Bernd,
puhhh, das ist harte kost :)))), ich dachte eingentlich an was kleines, simples!!!
Also hier mein kleins Makro (mit dem ich kopieren möchte und so):
Public

Sub Abgleich()
Dim WkSh_1     As Worksheet
Dim WkSh_2     As Worksheet
Dim lLetzte_1  As Long
Dim lLetzte_2  As Long
Dim lZeile_1   As Long
Dim lZeile_2   As Long
Set WkSh_1 = Worksheets("ABC_N Status")
Set WkSh_2 = Worksheets("Tabelle1")
lLetzte_1 = WkSh_1.Range("A65536").End(xlUp).Row
lLetzte_2 = WkSh_2.Range("A65536").End(xlUp).Row
For lZeile_1 = 4 To lLetzte_1
If WkSh_1.Range("J" & lZeile_1).Value <> "" And
WkSh_1.Cell(lZeile_1, "J").Interior.ColorIndex > 0 Then
Rows(lZeile_1).Copy
WkSh_2.Rows(lLetzte_2).PasteSpecial Paste:=xlPasteAll
lLetzte_2 = lLetzte_2 + 1
End If
Next lZeile_1
Und das mit dem Colorindex funktioniert halt nicht, weil die Felder mit Hilfe der bedingten Formatierung einfärbt werden. Wie kann ich die anderen Makros hier einbaue?
Vielen Dank für die Antworten
mfg
artur
End Sub

Anzeige
AW: Farbe der bedingten Formatierung
15.08.2006 17:43:10
bst
Hallo Artur,
wenn Du das Teil von mir nimmst mußt Du 3 Dinge tun:
1. Du braucht die 3 Funktionen GetCFColor, GetCFCondition und GetCFVal. Siehe obigen Link.
2. vor der For-Schleife ein "WkSh_1.Activate", da ich zum bestimmen der Farbe die entsprechende Zelle selektiere mußt Du in dieser Tabelle sein :-(
3. Anstatt WkSh_1.Cell(lZeile_1, "J").Interior.ColorIndex (das muss IMHO cells sein !) nimm sowas:
GetCFColor( WkSh_1.Cells(lZeile_1, "J") )
bzw. mit Spaltenindex der Spalte J = 10 s.u.
HTH, Bernd
--
Option Explicit

Public Sub Abgleich()
    Dim WkSh_1 As Worksheet
    Dim WkSh_2 As Worksheet
    Dim lLetzte_1 As Long
    Dim lLetzte_2 As Long
    Dim lZeile_1 As Long
    
    Set WkSh_1 = Worksheets("ABC_N Status")
    Set WkSh_2 = Worksheets("Tabelle1")
    
    lLetzte_1 = WkSh_1.Range("A65536").End(xlUp).Row
    lLetzte_2 = WkSh_2.Range("A65536").End(xlUp).Row
    
    WkSh_1.Activate
    
    For lZeile_1 = 4 To lLetzte_1
        If Cells(lZeile_1, 10).Value <> "" And GetCFColor(Cells(lZeile_1, 10)) > 0 Then
            lLetzte_2 = lLetzte_2 + 1
            Rows(lZeile_1).Copy WkSh_2.Rows(lLetzte_2)
        End If
    Next lZeile_1
End Sub


Anzeige
Sehr sehr gut, vielen Dank!!!
16.08.2006 10:27:09
artur
Hallo Bernd,
deine letzte Antwort hat mir die Augen geäffnet :), jetzt habe ichs verstanden und auch anwenden können. Funktionert einwandfrei, einfach super, danke dir!!!!!!
mfg
artur
AW: Sehr sehr gut, vielen Dank!!!
16.08.2006 10:41:45
bst
Hi Artur,
bitteschön und einen schönen Tag noch.
Bernd

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige