Clever-Excel-Forum

Normale Version: Zahlencode der Zellfüllfarben auflisten/ VBA Anpassung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,



wie kann man das angehängte VBA-Macro so anpassen, dass die Auflistung für jeweilige Range in Zeile 6 nur in den Zellen ausgeführt wird wenn in der jeweils 4 nach links gerückten Zelle ein Wert steht?



Bsp:

Für die Range "$CF$6:$CF$208, $CK$6:$CK$208, $CP$6:$CP$208" den Wert in Zelle -1 nur ausgeben, wenn in der Zelle -4, also

in der Range "$BF$6:$CF$208, $CG$6:$CK$208, $CL$6:$CP$208" ein Wert steht und diese also nicht "blank" ist.
Hallo,

ist das dein Ernst?

Eine Beschreibung, mit der ich zumindest, nichts anfangen kann.

Und eine Beispielmappe mit dem Codeversuch in einem Tabellenblatt?? Was soll man damit??

Lade mal eine Mappe hoch mit ein paar Daten in der du dann aufzeigst, was du, wo als Ergebnis haben willst.

Gruß Werner
Hallöchen,

Du hast den Ansatz doch schon in Deinem Makro. Da steht was mit Offset ...
Das Prinzip bringt Dich zur Lösung.

Code:
If c.Offset(0,-4)<>"" then
  c...
  c...
End If

@Werner,

Zitat:Und eine Beispielmappe mit dem Codeversuch in einem Tabellenblatt?? Was soll man damit??

Es gibt Antworter, die keine xlsm oder xlsb laden. Code bekommt man dann nur auf einem Blatt oder Textdatei oder im Beitrag gepostet ... - auch als Hinweis na Newbie78 - probier mal den 5. Button von rechts direkt über dem Textfenster
Hallöchen,
erstmal Danke an Schauan für die Hilfe.

Zum vollständigen Hintergrund anbei noch die Mappe mit Beispieltabelle und funktionstüchtigem Macro.
Dort sieht man auch wie es angewendet werden muss.

Ich muss auch zu meiner Verteidigung sagen, dass ich absolut kein Exel Profi bin. Deshalb bin ich ja hier, damit`s endlich besser wird. :21:
Daher ist es für mich immer sehr hilfreich, wenn ich wüßte wo genau ich was wie einfügen oder ändern muß. Blush
VIELE GRÜßE & DANKE iM VORAUS
...hier noch die genaue Beschreibung was das Macro tun soll:

Am Beispiel von Jahr 1 erklärt:
Wenn in der jeweiligen Zelle von Spalte CB (grau markiert) ein Wert steht, soll der Farbzahlencode der Farbe in der jeweiligen Zelle in Spalte CF (verschiedenfarbig) in der jeweils vorstehenden Zelle in der Spalte CE (gelb markiert) ausgegeben werden.

Falls in CB kein Wert steht soll die Zeile übersprungen werden.

Und dieses Vorgehen soll für Jahr 1, Jahr 2 und Jahr 3 zeitgleich geschehen.


@Schauan: Deinen Vorschlag habe ich probiert. Es kommt darauf die Fehlermeldung "Syntax Error".
(02.08.2020, 00:35)Newbie78 schrieb: [ -> ]Deshalb bin ich ja hier, damit`s endlich besser wird.

Hallo, :19:

na dann - alle Infos im Code: :21:
[attachment=33317]
Hallo,

da Du meinen Vorschlag nicht in der angehängten Datei hast kann ich nur mal spekulieren, dass Du was falsch übernommen hast. Hier mal etwas ausführlicher. Ein Fehler kommt dabei nicht.

Code:
For Each c In Selection
  If c.Offset(0, -4) <> "" Then
    ' Cell background color.
    ' - won't return conditional Formatting colors
    c.Offset(0, -1).Value = c.Interior.Color
    c.Offset(0, -1).Value = c.DisplayFormat.Interior.Color
  End If
Next c
Hi CASE.

it works! :18:
Vielen vielen Dank nochmal!!!

Was muss ich tun, damit es immer beim öffnen der Mappe gestartet wird?
Hallo, :19:

packe folgenden Code noch unter DieseArbeitsmappe bzw. bei dir ThisWorkbook: :21:

Code:
Option Explicit
Private Sub Workbook_Open()
    Call Main
End Sub