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

Forumthread: Bei Klick in Zelle andere Zellen färben

Bei Klick in Zelle andere Zellen färben
21.06.2016 09:05:53
CaroR
Hallo zusammen,
ich als VBA Anfänger habe ein Problem, das vermutlich jeder, der sich ein bisschen mit VBA auskennt leicht lösen kann- darüber würde ich mich sehr freuen!
Folgende Aufgabe: Bei Klick in bspw. Feld C3 sollen sich ein paar andere weiter unten einfärben, C3 selbst nicht. Bei Klick in ein anderes Feld geht die Färbung weg und die entsprechende neue Färbung wird umgesetzt.
Folgenden Code habe ich bisher versucht:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Cells(3, 3)) Is Nothing Then
Range("C9:G19").Interior.Color = RGB(255, 255, 255)
Range("C9:G19").Font.Color = RGB(0, 0, 0)
Range("D9, E9, C13, D14, E14, E15, C16, D16").Interior.Color = RGB(64, 124, 43)
Range("D9, E9, C13, D14, E14, E15, C16, D16").Font.Color = RGB(255, 255, 255)
End If
End Sub

Hatte es per aufzeichnen versucht, da kam keine schöne Methode raus und zudem soll der Cursor am Ende in C3 stehen, da kam bei mir eine Endlosschleife raus ... Was fehlt mir, was ist falsch? Ich verstehe leider die erste Zeile auch nicht so richtig :/ Habe Java Basic Kenntnisse aber VBA halt leider gar nicht.
Danke und viele Grüße!
Caro

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Bei Klick in Zelle andere Zellen färben
21.06.2016 09:16:58
UweD
Hallo Caro
funktioniert doch.
Das Makro muss aber in den Codebereich der Tabelle und nicht in ein Modul.
das ginge so...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Den Code dort reinkopieren
Erste Zeile:
If Not Application.Intersect(Target, Cells(3, 3)) Is Nothing Then
Wenn es Nicht Keine Überschneidung der beiden Zellenbereiche gibt dann..
die beiden Zellenbereiche sind dabei Die angeklickte Zelle (Target) und C3 (Cells(3, 3))
Gruß UweD

Anzeige
AW: Bei Klick in Zelle andere Zellen färben
21.06.2016 09:31:01
CaroR
Ah vielen Dank, jetzt funktioniert es!

Daumen hoch
21.06.2016 09:40:05
UweD

AW: Daumen hoch
21.06.2016 09:45:32
CaroR
Nachtrag: Es gibt noch eine Erweiterung dazu: Bei Klick auf Feld C3 soll in einem anderen Feld ein Text aus einem anderen Tabellenblatt angezeigt werden. Der sich bei erneutem Klick auf ein anderes Feld aktualisiert. Wie geht das?

Anzeige
AW: Daumen hoch
21.06.2016 10:04:05
UweD
Hi
Bei Klick auf Feld C3 soll in einem anderen Feld ein Text aus einem anderen Tabellenblatt angezeigt werden. Der sich bei erneutem Klick auf ein anderes Feld aktualisiert.
Dann soll der Wert ja immer aktualisiert werden.
das ginge dann so...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
   If Not Application.Intersect(Target, Cells(3, 3)) Is Nothing Then
       Range("C9:G19").Interior.Color = RGB(255, 255, 255)
       Range("C9:G19").Font.Color = RGB(0, 0, 0)
       Range("D9, E9, C13, D14, E14, E15, C16, D16").Interior.Color = RGB(64, 124, 43)
       Range("D9, E9, C13, D14, E14, E15, C16, D16").Font.Color = RGB(255, 255, 255)
       
   End If
       Range("A10") = Sheets("Tabelle2").Range("X10")
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0

Gruß UweD

Anzeige
AW: Daumen hoch
22.06.2016 15:30:26
CaroR
Super danke!
Zwei weitere Features sollte meine Excel noch haben, dann bin ich glücklich :)
1) Wie kann ich eine Farbe dominieren lassen? Ich habe die Möglichkeit programmiert, dass man mehrere Felder hintereinander anklickt und die in grün und dunkelgrün eingefärbten Felder gefärbt bleiben, bis ich ein "Reset Feld" anklicke, das löscht alle Färbungen.
Die dunkelgrünen Felder dominieren allerdings die hellgrünen! Dh ich klicke in C3, das färbt C10 dunkelgrün. Klick auf D3 will C10 hellgrün färben, das soll aber verhindert werden! Falls C3 C10 hellgrün färbt, und D3 will C10 dunkelgrün färben soll das funktionieren. Also praktisch, sobald ein Feld ein anderes dunkelgrün färben will geht das immer und die dunkle Färbung bleibt, bis ich Reset klicke. Hellgrün werden nur weiße Felder gefärbt und andere hellgrüne "überfärbt".
2) Wie kann ich bei Klick in zB C3 in H10 ein Bild anzeigen lassen, dass sich bei einem neuen Klick aktualisiert? Ähnlich wie der Text in meinem Beitrag weiter oben?
Wenn mir da jemand helfen könnte, wäre ich echt dankbar!!
Grüße
Caro

Anzeige
AW: Daumen hoch
22.06.2016 15:31:22
CaroR
Und Push ...

OT: 'Pushen' iss hier nich, Caro! ;-) Gruß owT
23.06.2016 12:38:03
Luc:-?
:-?
;

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
Anzeige

Infobox / Tutorial

Zellen einfärben und Text in Excel anzeigen


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und gehe zu dem Tabellenblatt, in dem Du die Funktion implementieren möchtest.
  2. Rechtsklicke auf den Tabellenblattreiter und wähle „Code anzeigen“ aus. Dies öffnet den VBA-Editor.
  3. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Cells(3, 3)) Is Nothing Then
        Range("C9:G19").Interior.Color = RGB(255, 255, 255)
        Range("C9:G19").Font.Color = RGB(0, 0, 0)
        Range("D9, E9, C13, D14, E14, E15, C16, D16").Interior.Color = RGB(64, 124, 43)
        Range("D9, E9, C13, D14, E14, E15, C16, D16").Font.Color = RGB(255, 255, 255)
    End If
End Sub
  1. Schließe den VBA-Editor und teste, ob beim Klicken auf C3 die Zellen C9 bis G19 entsprechend eingefärbt werden.

Häufige Fehler und Lösungen

  • Code nicht in das richtige Modul eingefügt: Stelle sicher, dass der Code im Codebereich des spezifischen Tabellenblatts und nicht in einem allgemeinen Modul eingefügt wurde.
  • Endlosschleife: Vermeide es, den Cursor nach dem Klicken in C3 auf C3 zu setzen, da dies zu einer Endlosschleife führen kann.

Alternative Methoden

Anstatt VBA zu verwenden, kannst Du auch bedingte Formatierungen nutzen, um Zellen basierend auf bestimmten Kriterien zu färben. Diese Methode ist jedoch eingeschränkter und bietet nicht die Flexibilität von VBA.


Praktische Beispiele

  1. Färbung von Zellen: Du kannst die oben genannte Methode verwenden, um verschiedene Zellen bei einem Klick in C3 oder andere Zellen zu färben.
  2. Text aus einem anderen Tabellenblatt anzeigen: Verwende den folgenden Code, um Text aus einem anderen Blatt anzuzeigen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Cells(3, 3)) Is Nothing Then
        Range("A10") = Sheets("Tabelle2").Range("X10")
    End If
End Sub

Tipps für Profis

  • Verwende Optionen wie RGB: Mit der RGB-Funktion kannst Du spezifische Farben für die Zellen festlegen.
  • Optimiere Deine VBA-Programmierkenntnisse: Lerne mehr über den VBA-Code, um komplexere Funktionen zu implementieren, wie das Dominieren von Farben.

FAQ: Häufige Fragen

1. Wie kann ich die Zellenfarbe zurücksetzen?
Du kannst eine Reset-Funktion hinzufügen, die alle Zellen wieder in ihre ursprüngliche Farbe zurücksetzt.

2. Wie kann ich Bilder in Excel anzeigen lassen?
Um Bilder anzuzeigen, kannst Du den VBA-Code anpassen, um ein Bild in einer bestimmten Zelle anzuzeigen, ähnlich wie beim Text.

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