Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn Zelle farbig, dann...

Forumthread: Wenn Zelle farbig, dann...

Wenn Zelle farbig, dann...
07.07.2005 21:28:01
Stefan
Hallo,
ich möchte gerne in einer zeile vorne ein Zahl schreiben.
Diese Zahl soll dann rechts in der zeile dann stehen, wenn eine Zelle eingefärbt wird.
Ist das möglich?
Gruß
Stefan
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Zelle farbig, dann...
07.07.2005 22:41:28
Reinhard
Hallo Stefan,
benenne mal die 3 (oder 2?) Zellen. Bzw bei der Zellenfärbung die evtl Zellen. Habe nicht alles kapiert *glaub*
Gruß
Reinhard
AW: Wenn Zelle farbig, dann...
07.07.2005 22:51:39
Frigo
Hallo Stefan,
das geht nur mit einem Makro, z.B.

Sub test()
For zeile = 1 To 5
Select Case Cells(zeile, 1).Interior.ColorIndex
Case 6: zahl = 815
Case 4: zahl = 4711
Case Else: zahl = 0
End Select
Cells(zeile, 2).Value = zahl
Next zeile
End Sub

Hier wird in den Zellen A1-A5 die Farbe geprüft, bei gelb wird in Spalte B die Zahl 0815, bei neongrün die Zahl 4711 geschrieben, 0 wenn ohne Hintergrundfarbe.
Das ist natürlich noch stark ausbaufähig.
Die ColorIndex-Werte findest du hier http://www.mvps.org/dmcritchie/excel/colors.htm#colorindex
frigo
Anzeige
AW: Wenn Zelle farbig, dann...
07.07.2005 22:58:33
Reinhard
allo Frigo,
das stimmt so nicht. Boris bzw www.excelformeln.de haben da sowas mit Zelle.Zuordnen da kann man auch ohne VBA den Frabwerrt (0-56) einer Zelle ermitteln. K.A. ob das auch bei bedingter Formatierung klappt.
Gruß
Reinhard
AW: Wenn Zelle farbig, dann...
08.07.2005 00:26:22
Erich
Hallo Stefan,
deine Frage kann ich so nicht gut verstehen; ich versuche sie hier noch mal anders zu formulieren:
1. Du möchtest in einer Zelle vorne eine Zahl schreiben.
- Dazu könntest du Ausrichtung der Zelle(n) vorher auf "linksbündig" stellen.
2. Wenn danach die Zelle mit einer (Hintergrund-)Farbe versehen wird, soll die Zahl in der Zelle rechtsbündig angezei8gt werden.
- Das ginge wohl über ein Ereignismakro, das bei Einfärbung einer Zelle die Ausrichtung auf Standard oder rechtsbündig umstellt.
Habe ich richtig verstanden, was du möchtest?
Grüße aus Kamp-Lintfort
Erich
Anzeige
AW: Wenn Zelle farbig, dann...
09.07.2005 17:33:49
Stefan
Hallo,
ich erklär kurz nochmal genauer, was ich machen will...
Ich schreib in eine Zelle (z.B. A2) ganz links eine Zahl (z.B. 5).
Daneben (B2) schreib ich einen Text (Beschreibung einer Tätigkeit).
Ab C2-..2 ist eine Zeitline.
Ich möchte jetzt dann in der "Zeitline" einige Zellen einfärben, z.B E2-H2.
Eine Funktion soll mir jetzt liefern, daß in den Zellen E2-H2 (die eingefärbten) die Zahl aus Zelle A2 (in meinem Beispiel "5") steht.
Es ist wichtig, daß in den eingefärbeten Zellen die Zahl steht, weil ich das ganze über mehrere Zeilen machen muß und anschließend die Spalten in der Zeitlinie aufaddieren muß.
Vielen Dank auf jeden Fall schon mal für die Antworten!
Stefan
Anzeige
AW: Wenn Zelle farbig, dann...
09.07.2005 17:35:23
Stefan
Hallo,
ich erklär kurz nochmal genauer, was ich machen will...
Ich schreib in eine Zelle (z.B. A2) ganz links eine Zahl (z.B. 5).
Daneben (B2) schreib ich einen Text (Beschreibung einer Tätigkeit).
Ab C2-..2 ist eine Zeitline.
Ich möchte jetzt dann in der "Zeitline" einige Zellen einfärben, z.B E2-H2.
Eine Funktion soll mir jetzt liefern, daß in den Zellen E2-H2 (die eingefärbten) die Zahl aus Zelle A2 (in meinem Beispiel "5") steht.
Es ist wichtig, daß in den eingefärbeten Zellen die Zahl steht, weil ich das ganze über mehrere Zeilen machen muß und anschließend die Spalten in der Zeitlinie aufaddieren muß.
Vielen Dank auf jeden Fall schon mal für die Antworten!
Stefan
Anzeige
AW: Wenn Zelle farbig, dann...
11.07.2005 09:54:21
Erich
Hallo Stefan,
jetzt verstehe ich dein Anliegen so:
Der Wert in Spalte A einer Zeile soll in alle eingefäbten Zellen der Zeile (ab Spalte C) kopiert werden.
Das macht (für die Zeilen 2 bis zum Ende)
Option Explicit
Sub KopieWennGefärbt1()
Dim ze&, sp%
For ze = 2 To ActiveSheet.UsedRange.Rows.Count
For sp = 3 To ActiveSheet.UsedRange.Columns.Count
If Cells(ze, sp).Interior.ColorIndex <> xlColorIndexNone Then _
Cells(ze, sp) = Cells(ze, 1)
Next sp
Next ze
End Sub

Frage:
Sollen eventuell bereits vorhandene Werte in den NICHT eingefärbten Zellen ab Spalte C gelöscht werden?
Dann geht das so:
Option Explicit
Sub KopieWennGefärbt2()
Dim ze&, sp%
For ze = 2 To ActiveSheet.UsedRange.Rows.Count
For sp = 3 To ActiveSheet.UsedRange.Columns.Count
If Cells(ze, sp).Interior.ColorIndex = xlColorIndexNone Then
Cells(ze, sp).ClearContents
Else
Cells(ze, sp) = Cells(ze, 1)
End If
Next sp
Next ze
End Sub

Hab ichs richtig verstanden?
Grüße aus Kamp-Lintfort
Erich
Anzeige
AW: Wenn Zelle farbig, dann...
11.07.2005 17:58:17
Stefan
Hallo Erich,
:-)
ich hab bisher mit Excel noch gar nichts mit VBA gemacht...
Ich hab's aber glücklicherweise doch geschafft, deinen Quelltext so einzufügen, daß das Excel-Sheet dann tatsächlich das getan hat, wie ich's mir vorstell!!! :-)
Allerdings mit einer Kleinigkeit von der ich jetzt nicht weiß, ob das nicht anders geht, oder ich was falsch mache:
Wenn ich in die erste Spalte ne Zahl schreib und dann ab Spalte C nen Bereich färbe, schreibt Excel mir erst die Zahl in die Zellen, wenn ich auf "Extras" - "Makro" - "Makros" - "Ausführen" geh...
Ich hätte mir gewünscht, daß die Zahlen dann automatisch in den gefärbten Zellen stehen, ohne das man noch eine Aktion durchführen muß... :-)
Trotzdem ganz ganz vielen Dank für deine Hilfe!!!
Grüße aus Karlsruhe
Stefan
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zellenfarbe in Excel nutzen: Automatisches Einfügen von Werten


Schritt-für-Schritt-Anleitung

Um in Excel einen Wert automatisch in eine Zelle zu kopieren, wenn eine andere Zelle farbig ist, kannst du dies mit einem VBA-Makro erreichen. Hier sind die Schritte, die du befolgen solltest:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Option Explicit
    Sub KopieWennGefärbt()
       Dim ze As Long, sp As Long
       For ze = 2 To ActiveSheet.UsedRange.Rows.Count
           For sp = 3 To ActiveSheet.UsedRange.Columns.Count
               If Cells(ze, sp).Interior.ColorIndex <> xlColorIndexNone Then
                   Cells(ze, sp) = Cells(ze, 1)
               End If
           Next sp
       Next ze
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Färbe die Zellen in deinem Arbeitsblatt, z.B. in den Spalten E bis H.

  6. Gehe zu Extras > Makro > Makros, wähle KopieWennGefärbt aus und klicke auf Ausführen.

Das Makro wird nun die Zahl aus der ersten Spalte in alle eingefärbten Zellen der Reihe kopieren.


Häufige Fehler und Lösungen

  • Problem: Nach dem Färben der Zellen wird die Zahl nicht automatisch eingefügt.

    • Lösung: Du musst das Makro manuell ausführen. Um dies zu automatisieren, benötigst du ein Ereignismakro, das bei jeder Änderung in der Tabelle ausgeführt wird.
  • Problem: Die eingefärbten Zellen zeigen nicht die korrekten Werte an.

    • Lösung: Stelle sicher, dass du die richtigen Farbcodes verwendest. In Excel können Farbcodes von 1 bis 56 zugeordnet werden. Verwende die ColorIndex-Eigenschaft, um die Farben zu identifizieren.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch die Bedingte Formatierung nutzen, um die Zellen visuell hervorzuheben, aber die Funktionalität, die du suchst, ist nur durch VBA erreichbar. Eine andere Möglichkeit wäre die Verwendung von Excel-Formeln, um Werte zu berechnen, die auf anderen Zellen basieren, jedoch nicht direkt auf der Zellenfarbe.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du die Zellenfarbe verwenden kannst:

  • Angenommen, du hast in Zelle A2 die Zahl 5 und möchtest diese Zahl in die Zellen E2 bis H2 kopieren, wenn diese Zellen eingefärbt sind.
  • Färbe die Zellen E2 bis H2 gelb.
  • Führe das oben genannte Makro aus, und du wirst sehen, dass die Zahl 5 in den gefärbten Zellen erscheint.

Tipps für Profis

  • Nutze die Worksheet_Change-Ereignisprozedur, um das Makro automatisch auszuführen, wenn du eine Zelle änderst. Hier ein Beispiel:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("A2:A100")) Is Nothing Then
           Call KopieWennGefärbt
       End If
    End Sub
  • Überlege, die ColorIndex zu verwenden, um spezifische Farben zu identifizieren, wie z.B.:

    If Cells(ze, sp).Interior.ColorIndex = 6 Then ' Gelb
       Cells(ze, sp) = Cells(ze, 1)
    End If

FAQ: Häufige Fragen

1. Kann ich die Zellenfarbe in Excel ohne VBA ändern? Ja, du kannst die Zellenfarbe über die bedingte Formatierung ändern, jedoch benötigst du VBA, um auf die Zellenfarbe zu reagieren und Werte zu kopieren.

2. Wie kann ich sicherstellen, dass die Zelle nur bei einer bestimmten Farbe einen Wert kopiert? Du kannst in deinem VBA-Code Bedingungen hinzufügen, die nur für bestimmte ColorIndex-Werte gelten, um gezielt auf Farben zu reagieren.

3. Gibt es eine Möglichkeit, das Makro automatisch auszuführen, ohne es manuell zu starten? Ja, du kannst das Worksheet_Change-Ereignis nutzen, um das Makro automatisch auszuführen, wenn sich die Zellen ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige