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

Forumthread: Zelle färben bei Erfüllung einer Bedingung

Zelle färben bei Erfüllung einer Bedingung
12.03.2007 09:51:00
Andrew
Hallo zusammen,
letzte Woche hatte mir Ingo super bei einem VBA-Code geholfen. Diesen möchte ich gerne etwas erweitern.
Bisher werden diejenigen Spalten, die in Zeile 2 ein "X" haben, bei Ausführen des Makros nicht ausgeblendet.
Meine Frage ist nun:
Kann man in Abhängigkeit von einem weiteren Kenner, zum Beispiel einem "Y" in Zeile 3, dafür sorgen, dass die Zeilen 5 bis 8, der nicht ausgeblendeten Spalten grün gefärbt und entsperrt werden und die Zeilen der nicht ausgeblendeten Spalten, die kein "Y" haben, entfärbt und geschützt werden?
Das Makro, was ich bisher verwende lautet:
Sub ausblenden()
Dim S
For S = 8 To 22
If Cells(2, S) <> "x" And Cells(2, S) <> "X" Then Columns(S).Hidden = True
Next S
ActiveSheet.Calculate
Range("F3").Select
End Sub

Hier meine Beispieldatei:
https://www.herber.de/bbs/user/41037.xls
Für eure Ideen und Hinweise wäre ich sehr dankbar.
Viele Grüße
Andrew
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Probiert mal ...
12.03.2007 11:03:46
MatzL0012001
Hi,
Option Explicit
Sub ausblenden()
Dim S
For S = 8 To 22
If Cells(2, S) <> "x" And Cells(2, S) <> "X" Then Columns(S).Hidden = True
Next S
ActiveSheet.Calculate
For S = 8 To 22
If Cells(3, S) <> "y" And Cells(3, S) <> "Y" Then
Cells(5, S).Interior.ColorIndex = xlNone: Cells(5, S).Locked = True
Cells(6, S).Interior.ColorIndex = xlNone: Cells(6, S).Locked = True
Cells(7, S).Interior.ColorIndex = xlNone: Cells(7, S).Locked = True
Cells(8, S).Interior.ColorIndex = xlNone: Cells(8, S).Locked = True
Else
Cells(5, S).Interior.ColorIndex = 4: Cells(5, S).Locked = False
Cells(6, S).Interior.ColorIndex = 4: Cells(6, S).Locked = False
Cells(7, S).Interior.ColorIndex = 4: Cells(7, S).Locked = False
Cells(8, S).Interior.ColorIndex = 4: Cells(8, S).Locked = False
End If
Next S
Range("F3").Select
End Sub

Gruß Matthias
Anzeige
AW: Funktioniert klasse, eine weitere Frage dazu
12.03.2007 11:20:00
Andrew
Hallo Matthias,
funktioniert super, genauso brauchte ich das. Vielen Dank.
Eine weitere Frage hätte ich noch:
Gibt es die Möglichkeit mehrere Zellen im VBA-Code zusammenzufassen, so das man nicht für jede Zeile den kompletten VBA-Code aufschreiben muss?
Wenn es nämlich mehrere Zeilen (vielleicht 50 Zeilen) sind, wird der Code schnell sehr lang. Das ist kein Problem, weil er ja super klappt, aber wenn man es verkürzen könnte, wäre das noch etwas einfacher!
Aber auf jeden Fall vielen Dank für deine Hilfe
Viele Grüße
Andrew
Anzeige
AW: Funktioniert klasse, eine weitere Frage dazu
12.03.2007 11:32:47
Matthias
Hallo,
Baue Dir eine äußere Schleife drumherum.
Also in etwa so
Option Explicit
Sub ausblenden()
Dim S, x
For S = 8 To 22
If Cells(2, S) <> "x" And Cells(2, S) <> "X" Then Columns(S).Hidden = True
Next S
ActiveSheet.Calculate
For x = 5 To 9
For S = 8 To 22
If Cells(3, S) <> "y" And Cells(3, S) <> "Y" Then
Cells(x, S).Interior.ColorIndex = xlNone: Cells(x, S).Locked = True
Else
Cells(x, S).Interior.ColorIndex = 4: Cells(x, S).Locked = False
End If
Next S
Next x
Range("F3").Select
End Sub

Gruß Matthias
Anzeige
AW: Super Idee, vielen Dank
12.03.2007 11:37:00
Andrew
Hallo Matthias,
super, klasse Kniff, vielen Dank, das werde ich mal ein bisschen anpassen, falls sich die Zeilenanforderungen ändern.
Vielen Dank dafür
und viele Grüße
Andrew
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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