Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige