Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
300to304
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
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

nicht gesp. Zellen färben - nur ein Blatt!

nicht gesp. Zellen färben - nur ein Blatt!
29.08.2003 15:03:32
Tanja
Hallo Profis,

folgendes Makro färbt mir alle nicht gesperrten Zellen aller Blätter meiner Arbeitsmappe gelb!


Sub offeneZellenFärben()
Dim RaZelle As Range
Dim InI As Integer
For InI = 1 To Sheets.Count
Worksheets(InI).Unprotect
For Each RaZelle In Worksheets(InI).UsedRange
If RaZelle.Locked = False Then RaZelle.Interior.ColorIndex = 19
' zurück
' If RaZelle.Locked = True Then RaZelle.Interior.ColorIndex = xlNone
Next RaZelle
Worksheets(InI).Protect
Next InI
End Sub


Wie krieg ich es hin, dass der Vorgang nur im aktiven Blatt abläuft?

Vielen Dank für die Hilfe im Voraus!

Gruß
Tanja

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nicht gesp. Zellen färben - nur ein Blatt!
29.08.2003 15:06:16
sergiesam
Hi,

gib einfach die For-Schleife der Blätter weg:


Sub offeneZellenFärben()
Dim RaZelle As Range
ActiveSheet.Unprotect
For Each RaZelle In ActiveSheet.UsedRange
If RaZelle.Locked = False Then RaZelle.Interior.ColorIndex = 19
' zurück
' If RaZelle.Locked = True Then RaZelle.Interior.ColorIndex = xlNone
Next RaZelle
ActiveSheet.Protect
End Sub


Gruß aus Linz,
sam
Erweiteung + Zwischenfrage
29.08.2003 15:39:00
Luaks
Hallo
hab das ganze um eine bedingte formatierung erweitert, sodass die zellen, falls sie leer sind, andere Farbe haben.


Sub Nicht_gesperrte_Zellen_färben()
'färbt alle nicht geperrten Zellen blau, falls leer, türkis falls
'etwas drinnen steht
Dim RaZelle As Range
ActiveSheet.Unprotect
For Each RaZelle In ActiveSheet.UsedRange
If RaZelle.Locked = False Then
RaZelle.Interior.ColorIndex = 34
RaZelle.FormatConditions.Delete
RaZelle.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="="""""
RaZelle.FormatConditions(1).Interior.ColorIndex = 35 'xlNone falls gefüllte Zellen weiß sein sollen
End If
' zurück
' If RaZelle.Locked = True Then RaZelle.Interior.ColorIndex = xlNone
Next RaZelle
ActiveSheet.Protect
End Sub

meine Frage:
braucht es die zeile
RaZelle.FormatConditions.Delete ?
einige recorder-befehle sind mir nämlich suspekt...
gruß,
Lukas
Anzeige
AW: Erweiteung + Zwischenfrage
30.08.2003 08:20:11
sergiesam
Hi,

wenn du die Bedingte Formatierung mit ADD hinzufügst, brauchst du schon DELETE. Es gibt 2 Möglichkeiten eine bedingte Formatierung festzulegen:
a) Es gibt noch keine >> Add
b) Es gibt bereits eine für die Zelle >> Ändern über Item.

Wenn man nicht genau weiß, ob bereits manuell vielleicht eine Formatierung festgelegt wurde, würde der Add-Befehl scheitern bzw. was falsches liefern. So geht man einfach einen sicheren Weg: Lösche alle ev. vorkommenden bedingten Formatierungen und lege genau die an, die man wünscht.

Meine Empfehlung also: Ja, delete braucht man.
Gruß,
Sam
Anzeige
AW: nicht gesp. Zellen färben - nur ein Blatt!
29.08.2003 15:07:21
Hajo_Zi
Hallo Tanja

der Ursprungshinweis war nicht umsonst im Code,


Sub offeneZellenFärben()
Dim RaZelle As Range
Dim InI As Integer
'    For InI = 1 To Sheets.Count
ActiveSheet.Unprotect
For Each RaZelle In ActiveSheet.UsedRange
If RaZelle.Locked = False Then RaZelle.Interior.ColorIndex = 19
' zurück
' If RaZelle.Locked = True Then RaZelle.Interior.ColorIndex = xlNone
Next RaZelle
ActiveSheet.Protect
'    Next InI
End Sub


Gruß Hajo
AW: nicht gesp. Zellen färben - nur ein Blatt!
29.08.2003 15:07:48
Andi_H
hi tanja,


Sub offeneZellenFärben()
Dim RaZelle As Range
Dim InI As Integer
activesheet.Unprotect
For Each RaZelle In activesheet.UsedRange
If RaZelle.Locked = False Then RaZelle.Interior.ColorIndex = 19
' zurück
' If RaZelle.Locked = True Then RaZelle.Interior.ColorIndex = xlNone
Next RaZelle
activesheet.Protect
End Sub



gruß

andi
Anzeige
AW:Danke an alle für die schnelle Hilfe:o) oT
29.08.2003 15:22:34
Tanja

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige