online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon rosch vom 06.02.2019, 13:00 Options

vba bedingte Formatierung im Excel

Hallo,

ich bin ein totaler Anfänger was vba im Excel betrifft deshalb brauche ich hilfe. Ich möchte folgendes machen (mit hilfe vba funktionieren soll das ganze wie eine bedingte Formatierung. Diese funktioniert ja bekanntlich nur mit 3 werten ich habe aber 7 zur auswahl)

in der Zelle F121 wird eins von den 7 Kennzeichen z.B. t (sind alles Buchstaben) eingegeben dann soll der Bereich F1 bis F12 z.B. rot hinterlegt werden. Dann gebe ich weiter in der Zelle F123 wieder eins ein z.B. r, dann soll der Bereich F13 bis F25 z.B. grün eingefärbt werden usw.

Diese Eingaben der Kennzeichen passiert auch in der Zelle G121 bzw. G123; H121 bzw. H123 usw. Dann soll sich analog zu oben die Bereiche H1 bis G12, G13-G25 usw. einfärben.

Das ganz soll aber ohne Button funktionieren und wenn möglich ein einzelnes Tabellenblatt gelten.

Ich hoffe ich konnte euch mein Problem vermitteln und freue mich, wenn mir ein vba-Spezi helfen kann.

Danke
Gruß Ron


Antwort schreiben

Antwort 1 von coros vom 06.02.2019, 13:06 Options

Hallo Ron,

schau mal auf meiner HP in der Rubrik Beispieldateien und dort dann in dem Beispiel 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von rosch vom 06.02.2019, 13:19 Options

Hallo Oliver,

erst einmal danke für deine schnelle Antwort. Das ist eine super HP.

Das Tabellenblatt "Zellenfarbe in Zeilenbereich" kommt dem, was ich versuche schon sehr nahe.

Problem ist nur das: Wie kann ich den vba-Code umbauen (ich habe noch keine Ahnung davon) das ich z.B. das t in Zelle A1 z.B. in Zelle F121 eingebe und dann nicht der Berich Zeilen B1 bis L1 eingefärbt werden sondern Bereich F1-F12?

Gruß Ron

Antwort 3 von coros vom 06.02.2019, 15:34 Options

Hallo Ron,

dann würde das in etwa wie nachfolgender Code aussehen. Tausche den Code gegen den vorhandenen im VBA-Projekt desTabellenblattes, in dem er wirken soll, aus.

[b]Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Bereich1 As Range, Bereich2 As Range, Bereich3 As Range
Dim Bereich4 As Range, Bereich5 As Range, Bereich6 As Range

Rem: Wenn mehr als eine Zelle markiert wurde dann Makro beenden
If Target.Cells.Count > 1 Then Exit Sub

Rem: Bereiche vergeben
Rem: Bereiche vergeben
Set Bereich1 = Range("F121")
Set Bereich2 = Range("F123")
Set Bereich3 = Range("G121")
Set Bereich4 = Range("G123")
Set Bereich5 = Range("H121")
Set Bereich6 = Range("H123")

Rem:########################### Spalte F #########################################
Select Case Bereich1
    Case "k"
      Range(Cells(1, 6), Cells(12, 6)).Interior.ColorIndex = 3
    Case "u"
      Range(Cells(1, 6), Cells(12, 6)).Interior.ColorIndex = 4
    Case "s"
      Range(Cells(1, 6), Cells(12, 6)).Interior.ColorIndex = 5
    Case "t"
      Range(Cells(1, 6), Cells(12, 6)).Interior.ColorIndex = 7
Case Else
      Rows(Target.Row).Interior.ColorIndex = 2
End Select

Select Case Bereich2
    Case "k"
      Range(Cells(13, 6), Cells(25, 6)).Interior.ColorIndex = 3
    Case "u"
      Range(Cells(13, 6), Cells(25, 6)).Interior.ColorIndex = 4
    Case "s"
      Range(Cells(13, 6), Cells(25, 6)).Interior.ColorIndex = 5
    Case "t"
      Range(Cells(13, 6), Cells(25, 6)).Interior.ColorIndex = 7
Case Else
      Rows(Target.Row).Interior.ColorIndex = 2
End Select
Rem:########################### Spalte G #########################################
Select Case Bereich3
    Case "k"
      Range(Cells(1, 7), Cells(12, 7)).Interior.ColorIndex = 3
    Case "u"
      Range(Cells(1, 7), Cells(12, 7)).Interior.ColorIndex = 4
    Case "s"
      Range(Cells(1, 7), Cells(12, 7)).Interior.ColorIndex = 5
    Case "t"
      Range(Cells(1, 7), Cells(12, 7)).Interior.ColorIndex = 7
Case Else
      Rows(Target.Row).Interior.ColorIndex = 2
End Select

Select Case Bereich4
    Case "k"
      Range(Cells(13, 7), Cells(25, 7)).Interior.ColorIndex = 3
    Case "u"
      Range(Cells(13, 7), Cells(25, 7)).Interior.ColorIndex = 4
    Case "s"
      Range(Cells(13, 7), Cells(25, 7)).Interior.ColorIndex = 5
    Case "t"
      Range(Cells(13, 7), Cells(25, 7)).Interior.ColorIndex = 7
Case Else
      Rows(Target.Row).Interior.ColorIndex = 2
End Select
Rem:########################### Spalte H #########################################
Select Case Bereich5
    Case "k"
      Range(Cells(1, 8), Cells(12, 8)).Interior.ColorIndex = 3
    Case "u"
      Range(Cells(1, 8), Cells(12, 8)).Interior.ColorIndex = 4
    Case "s"
      Range(Cells(1, 8), Cells(12, 8)).Interior.ColorIndex = 5
    Case "t"
      Range(Cells(1, 8), Cells(12, 8)).Interior.ColorIndex = 7
Case Else
      Rows(Target.Row).Interior.ColorIndex = 2
End Select

Select Case Bereich6
    Case "k"
      Range(Cells(13, 8), Cells(25, 8)).Interior.ColorIndex = 3
    Case "u"
      Range(Cells(13, 8), Cells(25, 8)).Interior.ColorIndex = 4
    Case "s"
      Range(Cells(13, 8), Cells(25, 8)).Interior.ColorIndex = 5
    Case "t"
      Range(Cells(13, 8), Cells(25, 8)).Interior.ColorIndex = 7
Case Else
      Rows(Target.Row).Interior.ColorIndex = 2
  End Select

End Sub[/b]

Bei Fragen melde Dich wieder.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von rosch vom 07.02.2019, 08:40 Options

Hallo Oliver,

ich möchte mich bei dir bedanken. Es funktioniert.

Deine HP werde ich jetzt öfters mal besuchen. Die ist es super.

Gruß Ron

Ähnliche Themen

Bedingte Formatierung nach Filterauswahl
dirkmuel  20.03.2007 - 273 Hits - 2 Antworten

Bedingte formatierung im Excel
o.burgunder  22.03.2007 - 416 Hits - 6 Antworten

Bedingte Formatierung
Manolli  24.03.2007 - 189 Hits - 5 Antworten

Bedingte Formatierung mit mehr als 3 Bedingungen
ohneahnungsein  07.01.2008 - 88 Hits - 16 Antworten

Bedingte Formatierung
fedjo  22.05.2008 - 211 Hits - 9 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026