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

Zellinhalt auslesen (Kriterium Farbe) und ausgeben

Zellinhalt auslesen (Kriterium Farbe) und ausgeben
15.08.2019 14:33:39
Markus
Hallo,
ich habe folgendes Problem und das übersteigt meine Excel Kenntnisse ungemein :)
Ich habe eine Excel Datei mit 2 Tabellenblättern. In Tabellenblatt 2 stehen Daten (Lieferanteninformationen zeilenweise). In den Tabellenblatt 2 wurde eine Spalte mit einer bedingten Formatierung belegt, die bestimmte Zellen in der Spalte rot einfärbt, wenn bestimmte Bedingungen erfüllt sind (hier eine Datumsprüfung und die Tage die dazwischen vergangen sind).
Ich würde jetzt gerne in Tabellenblatt 1 die rot markierten Lieferanteninformationen ausgeben.
Tabellenblatt 2
[Spalte A][Spalte B][Spalte C][Spalte D]......
[Daten] [Daten] [Daten] [Daten]
[Daten] [Daten] [Daten-Rot] [Daten]
[Daten] [Daten] [Daten] [Daten]
.....
In Tabellenblatt 2 soll Excel nach roten Zellen in Spalte C suchen und die Daten davor und dahinter (waagerecht) nehmen und in eine Zeile auf Tabellenblatt 1 schreiben.
Habt ihr eine Idee oder noch besser eine Lösung?
Verzweifel seit 2 Stunden und hab definitiv andere Stärken :)

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt auslesen (Kriterium Farbe) und ausgeben
15.08.2019 14:35:15
SF
Hola,
leider wissen wir nicht, nach welchen Kriterien die rote Färbung entsteht. Somit kann man auch nicht helfen.
Eine Beispieldatei (kein Bild) mit der bed. Formatierung wäre hilfreich.
Gruß,
steve1da
AW: Zellinhalt auslesen (Kriterium Farbe) und ausgeben
15.08.2019 14:52:57
Markus
Hallo,
danke für die schnelle Antwort. Ich habe mal eine Beispieldatei (ohne reale Daten) erstellt und hochgeladen.
https://www.herber.de/bbs/user/131447.xlsx
AW: Zellinhalt auslesen (Kriterium Farbe) und ausgeben
15.08.2019 14:59:23
SF
Hola,
dass sämtliche Daten in Spalte G mit dem Wert aus E3 verglichen werden ist gewollt?
=WENNFEHLER(INDEX(Daten!C:C;AGGREGAT(15;6;ZEILE(Daten!$C$3:$C$183)/(Daten!$G$3:$G$183>Daten!E3); ZEILE(A1)));"")
Die Formel nach unten ziehen.
Gruß,
steve1da
Anzeige
Das wundert mich auch, ...
16.08.2019 03:52:42
Luc:-?
…Steve,
aber Du erhältst natürlich nur dann die Rotgefärbten, wenn Du auch Daten!E$3 schreibst. Anderenfalls wird das nichts.
Ich hätte ja noch eine Alternative mit 4 UDFs als plurale MatrixFml über alle Zeilen: ;-]
{=DataSet(NoErrRange(Daten!C3:C183; ;MTRANS(TxEval("CellColor(Daten!G"&ZEILE(C3:C183) &")")=255));"";2;;1) }
Wenn jetzt doch noch die BedFmtRegelFml geändert wdn sollte, fktioniert das ebenfalls. Ggf kann auch das 2.Argument von NoErrRange angegeben wdn, dann wird diese UDF volatil.
Anmerkung: Wenn es unbedingt sein muss, kann man mit zusätzlichem INDEX auch Einzelwerte wiedergeben.
Morhn, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige
Danke für die Korrektur :)...
16.08.2019 12:02:31
SF
....auch wenn du jetzt vom TE mit-ignoriert wirst :)
AW: Danke für die Korrektur :)...
16.08.2019 14:56:44
Markus
Hallo SF,
habe dich nicht absichtlich ignoriert.
Will hier niemanden ignorieren.
Warum wird mir das unterstellt?
Habe mich heute morgen bei allen bedankt und hatte noch eine Frage....aber da wurde ich ignoriert.
Mit Letzterem wirste wohl recht behalten… :-| owT
16.08.2019 15:30:30
Luc:-?
:-?
Danke für das schnelle Ignorieren.....
15.08.2019 16:44:52
SF
AW: Danke für das schnelle Ignorieren.....
16.08.2019 14:59:36
Markus
Hallo SF,
habe dich nicht absichtlich ignoriert.
Will hier niemanden ignorieren.
Warum wird mir das unterstellt?
Habe mich heute morgen bei allen bedankt und hatte noch eine Frage....aber da wurde ich ignoriert.
AW: Zellinhalt auslesen (Kriterium Farbe) und ausgeben
15.08.2019 14:53:37
Beverly
Hi Markus,
meinst du so etwas:
Sub Uebertragen()
Dim lngZeile As Long
Dim lngZiel As Long
lngZiel = 1
With Worksheets("Tabelle2")
For lngZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(lngZeile, 3).DisplayFormat.Interior.Color = 255 Then
Union(.Range(.Cells(lngZeile, 1), .Cells(lngZeile, 2)), _
.Range(.Cells(lngZeile, 4), .Cells(lngZeile, 8))).Copy _
Worksheets("Tabelle1").Cells(lngZiel, 1)
lngZiel = lngZiel + 1
End If
Next lngZeile
End With
End Sub

Da ich nicht weiß, bis zu welcher Spalte die Daten kopiert werden sollen, bin ich mal von Spalte H (8) ausgegangen - musst du entsprechend anpassen.


Anzeige
Ergänzung/Anpassung
15.08.2019 14:57:18
Beverly
Hi Markus,
ausgehend von deiner inzwischen hochgeladenen Mappe ist mein Code wie folgt anzupassen:
Sub Uebertragen()
Dim lngZeile As Long
Dim lngZiel As Long
lngZiel = 1
With Worksheets("Daten")
For lngZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(lngZeile, 7).DisplayFormat.Interior.Color = 255 Then
Union(.Range(.Cells(lngZeile, 1), .Cells(lngZeile, 6)), _
.Range(.Cells(lngZeile, 8), .Cells(lngZeile, 15))).Copy _
Worksheets("Ausgabe").Cells(lngZiel, 1)
lngZiel = lngZiel + 1
End If
Next lngZeile
End With
End Sub


Anzeige
AW: Ergänzung/Anpassung
15.08.2019 15:10:11
Markus
Hallo Beverly,
vielen Dank dafür. Da ich blutiger Anfänger bin wäre noch ein Tipp, wo ich das einfüge Gold wert :)
AW: Ergänzung/Anpassung
15.08.2019 15:15:04
Werner
Hallo,
würde ich mit dem Autofilter (Filtern nach Farbe) machen.
Sub Makro1()
Dim loLetzte As Long
Application.ScreenUpdating = False
With Worksheets("Daten")
loLetzte = .Cells(.Rows.Count, 7).End(xlUp).Row
.Range("$A$2:$N$" & loLetzte).AutoFilter Field:=7, _
Criteria1:=RGB(255, 0, 0), Operator:=xlFilterCellColor
With .AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).Copy Worksheets("Ausgabe").Range("A1")
End With
.AutoFilter.ShowAllData
Worksheets("Ausgabe").Columns("A:N").AutoFit
End With
End Sub
Das Makro gehört in ein allgemeines Modul.
Gruß Werner
Anzeige
AW: Ergänzung/Anpassung
15.08.2019 16:00:58
Beverly
Hi Markus,
erstelle im VBA-Editor ein Modul und kopiere den Code dort hinein. Dann kannst du das Makro im Register: Ansicht -&gt Befehlsgruppe: Makros -&gt Schalter: Makros aufrufen und ausführen.


AW: Ergänzung/Anpassung
16.08.2019 15:00:23
Markus
Danke Beverly
handelt sich um bed. Formatierung...
15.08.2019 15:14:01
Werner
Hallo Beverly,
...aus diesem Grund geht das so nicht.
Gruß Werner
AW: handelt sich um bed. Formatierung...
15.08.2019 15:16:47
Markus
Hallo,
OK...würde es gehen, wenn ich rechts neben der bedingt formatierten Spalte eine Hilfsspalte einrichte und dort den Farbcode auslesen lasse und dann Bezug zu dem Farbcode (rot=3 in Excel?) in Beverlys Code nehme?
Anzeige
Das ist nicht notwendig...
15.08.2019 16:05:35
Beverly
Hi Markus,
...denn mein Code funktioniert durchaus - er liest nämlich die Erfüllung der bedingten Formatierung aus. Teste ihn doch einfach mal.


Sorry, wer lesen kann...
15.08.2019 16:14:06
Werner
Hallo Beverly,
...ist klar im Vorteil. Habe das Displayformat doch tatsächlich übersehen.
Gruß Werner
Du hast den Code schon...
15.08.2019 16:03:19
Beverly
Hi Werner,
...getestet? Das solltest du aber, bevor du schreibst dass es nicht geht...


AW: Du hast den Code schon...
16.08.2019 09:36:53
Markus
Guten Morgen,
vielen Dank erstmal an alle, die mich hier bei dem Projekt unterstützen...Top
Ich als Excel Laie kann bestätigen das der Code funktioniert :)
Jetzt habe ich mir nur noch die Frage gestellt, ob es möglich ist die "Ausgabe" weiter zu formatieren/anzupassen.
Zum Beispiel nicht alle Spalten in der Ausgabe ausgeben, sondern nur definierte Spalten. Oder das die Ausgabeseite die Überschriften der Spalten aus dem Datenblatt mit übernimmt.
p.s.: ich versuche mit der Datei einen Kollegen zu unterstützen und im die Arbeit zu erleichtern.
Anzeige
Selbstverständlich kann man...
16.08.2019 23:06:23
Beverly
Hi Markus,
...festlegen, welche Spalten kopiert werden sollen und auch die Spaltenüberschriften - aber dazu müsste man wissen, um welche Spalten es sich handelt.


AW: handelt sich um bed. Formatierung...
15.08.2019 16:08:58
volti
Hi Werner,
ergänzend zu Beverlys Text:
.Cells(lngZeile, 7).DisplayFormat.Interior.Color = 255
ist das Geheimnis für eine funktionierende Farbauslesung bed. Formatierungen.
viele Grüße
Karl-Heinz
AW: Zellinhalt auslesen (Kriterium Farbe) und ausgeben
16.08.2019 15:57:02
Daniel
Hi
muss es dynamisch per Formel verknüpft sein?
du kannst auch mit dem Autofilter nach den roten Zellen filtern und dann die benötigten Spalten ins neue Blatt kopieren.
Der Autofilter kann auch nach Farben filtern und erkennt auch die Farben der Bedingten Formatierung.
das ganze dann als kurzes Makro in einem allgemeinen Modul mit dem Kopieren bestimmter Spalten:
Sub Makro1()
Sheets("Ausgabe").Cells.Clear
With Sheets("Daten").UsedRange
.Offset(1, 0).AutoFilter Field:=7, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterCellColor
.Range("A:C,F:H,J:K").Copy
End With
Sheets("Ausgabe").Cells(1, 1).PasteSpecial xlPasteValuesAndNumberFormats
Sheets("Daten").UsedRange.AutoFilter
End Sub
und wie gesagt, mit dem Autofilter kann man nach den Farben, die die bedingte Formatierung erzeugt hat, filtern.
Das hilft, die Aufgabe zu lösen, sei es von Hand oder per Makro.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige