Excel - Text unsichtbar machen, wenn ausgeblendet
Hallo,
ich habe eine Excel-Datei (Excel-Vers. 2021), in der verschiedene Zellen gesperrt und ausgeblendet sind, da sie Text enthalten, der nicht sichtbar sein soll. Der Blattschutz ist über ein Kennwort aktiviert.
Damit man den Text auch nicht geschrieben in der Zelle sieht, habe ich den Text einfach mit der Textfarbe weiß formatiert.
Da die Zellen dann auch ausgeblendet sind, sieht man ihn dann auch nicht oben in der Adressleiste.
Das funktioniert grds. sehr gut...
Nun würde ich gerne eine Funktion haben, die fertige Zeilen der Datei automatisch mit hellgrauer Hintergrundfarbe einfärbt.
Dabei ergibt sich dann jedoch das Problem, dass man dann auch in den gesperrten und ausgeblendeten Zellen die entsprechenden Einträge sehen kann, die ja mit der Textfarbe weiß formatiert sind.
Es würde auch nichts bringen, die Einträge jetzt mit hellgrauer Textfarbe einzufärben, damit man die Einträge nicht sehen kann. Die Zellen haben ja zunächst einen weißen Hintergrund. Und erst, nachdem sie fertig belegt sind, sollen sie einen hellgrauen Hintergrund haben.
Hat jemand von Euch eine Idee, wie ich das umsetzen kann?
1) Sobald die Zeile fertig ausgefüllt ist, werden die Zellen (A9 - E9 und G9 - K9) hellgrau hinterlegt
2) Die Einträge in den Zellen (H9 - K9) sollen unsichtbar sein... egal ob weißer oder hellgrauer Hintergrund
## das gilt dann auch für die Zeilen 10 bis 20 ##
Zur Info:
Es gibt bereits den folgenden VBA-Code, der bewirkt, dass die fertigen Zellen gesperrt werden und somit nicht mehr veränderbar sind. Vielleicht muss man diesen Code ja nur entsprechend erweitern, um mein Vorhaben umsetzen zu können...
Hier der Code (2 Teile):
1) "Diese Arbeitsmappe":
2) "Tabelle 1" (also erstes Tabellenblatt):
Grüße von
Yan
ich habe eine Excel-Datei (Excel-Vers. 2021), in der verschiedene Zellen gesperrt und ausgeblendet sind, da sie Text enthalten, der nicht sichtbar sein soll. Der Blattschutz ist über ein Kennwort aktiviert.
Damit man den Text auch nicht geschrieben in der Zelle sieht, habe ich den Text einfach mit der Textfarbe weiß formatiert.
Da die Zellen dann auch ausgeblendet sind, sieht man ihn dann auch nicht oben in der Adressleiste.
Das funktioniert grds. sehr gut...
Nun würde ich gerne eine Funktion haben, die fertige Zeilen der Datei automatisch mit hellgrauer Hintergrundfarbe einfärbt.
Dabei ergibt sich dann jedoch das Problem, dass man dann auch in den gesperrten und ausgeblendeten Zellen die entsprechenden Einträge sehen kann, die ja mit der Textfarbe weiß formatiert sind.
Es würde auch nichts bringen, die Einträge jetzt mit hellgrauer Textfarbe einzufärben, damit man die Einträge nicht sehen kann. Die Zellen haben ja zunächst einen weißen Hintergrund. Und erst, nachdem sie fertig belegt sind, sollen sie einen hellgrauen Hintergrund haben.
Hat jemand von Euch eine Idee, wie ich das umsetzen kann?
1) Sobald die Zeile fertig ausgefüllt ist, werden die Zellen (A9 - E9 und G9 - K9) hellgrau hinterlegt
2) Die Einträge in den Zellen (H9 - K9) sollen unsichtbar sein... egal ob weißer oder hellgrauer Hintergrund
## das gilt dann auch für die Zeilen 10 bis 20 ##
Zur Info:
Es gibt bereits den folgenden VBA-Code, der bewirkt, dass die fertigen Zellen gesperrt werden und somit nicht mehr veränderbar sind. Vielleicht muss man diesen Code ja nur entsprechend erweitern, um mein Vorhaben umsetzen zu können...
Hier der Code (2 Teile):
1) "Diese Arbeitsmappe":
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim objCell As Range
With Worksheets("Eingaben")
For Each objCell In Range("Q9:Q20")
If IsDate(objCell.Value) Then objCell.EntireRow.Locked = True
Next
End With
End Sub
2) "Tabelle 1" (also erstes Tabellenblatt):
Option Explicit
Private Sub Worksheet_Calculate()
Dim objCell As Range
For Each objCell In Range("O9:O20")
With objCell
If .Text = "OK" Then _
If Not IsDate(.Offset(0, 2).Value) Then .Offset(0, 2).Value = Date
End With
Next
End Sub
Grüße von
Yan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6542951741
Url: https://administrator.de/forum/excel-text-unsichtbar-machen-wenn-ausgeblendet-6542951741.html
Ausgedruckt am: 15.01.2025 um 10:01 Uhr
18 Kommentare
Neuester Kommentar
Zitat von @Yan2021:
Wo wäre der Vorteil, wenn ich den Code
stattdessen in meinen VBA-Code einsetzen würde?
Wo wäre der Vorteil, wenn ich den Code
objCell.NumberFormat = ";;;"
stattdessen in meinen VBA-Code einsetzen würde?
Die Frage, die du dir stellen musst: Brauchst du eine statische oder eine dynamische Lösung.
Statisch: machs per Hand
Dynamisch: programmiere ne Funktion
Klassisches Beispielmakro für bedingte Formatierung
Sub BedingteFormatierungBeispiel()
'Bereich definieren
Dim MeinBereich As Range
Set MeinBereich = Range("A1:A10")
'Vorhandene bedingte Formatierung aus dem Bereich löschen
MeinBereich.FormatConditions.Delete
'Bedingte Formatierung anwenden
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="=100", Formula2:="=150"
MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
End Sub
Puh...bin da schon lange nicht mehr in VBA unterwegs.
Den Code kannst du auch hinter die Schleife im ersten Code setzen.
Es sollen die Bereiche eingefärbt werden, wenn die gesperrt sind. Und gesperrt werden die nur, wenn da ein Datum, also ein Wert, drin steht. Also musst du einfärben, wenn da was drin steht.
Zwei Bereiche trennt man mit Komma ab, nicht mit Semikolon.
Nimm mal als Operator ein xlGreater und für Formula1 setzt du >0 ein. Formula2 brauchst du nicht.
Sollte dann alles in den Bereichen alles einfärben, wenn der Inhalt größer 0 ist. Und das ist ja bei dir immer der Fall, wenn die Zelle nicht leer ist.
Oder aber du nimmst als Operator xlEqual und die Formel lautet dann <>"" (also ungleich leer).
Da musst du testen.
Aber wie gesagt, es gibt da sehr gute Office-Foren, die da auch bei VBA extrem gut weiterhelfen.
Den Code kannst du auch hinter die Schleife im ersten Code setzen.
Es sollen die Bereiche eingefärbt werden, wenn die gesperrt sind. Und gesperrt werden die nur, wenn da ein Datum, also ein Wert, drin steht. Also musst du einfärben, wenn da was drin steht.
Zwei Bereiche trennt man mit Komma ab, nicht mit Semikolon.
Nimm mal als Operator ein xlGreater und für Formula1 setzt du >0 ein. Formula2 brauchst du nicht.
Sollte dann alles in den Bereichen alles einfärben, wenn der Inhalt größer 0 ist. Und das ist ja bei dir immer der Fall, wenn die Zelle nicht leer ist.
Oder aber du nimmst als Operator xlEqual und die Formel lautet dann <>"" (also ungleich leer).
Da musst du testen.
Aber wie gesagt, es gibt da sehr gute Office-Foren, die da auch bei VBA extrem gut weiterhelfen.
Hallo Yan,
versuche doch einmal anstatt in Zellbereiche das auszublendende in eine Spalte unterzubringen.
Mit einer Formel und Prüfung der Voraussetzung wird der Inhalt der ausgeblendeten Zelle dann in einer sichtbaren Zelle angezeigt.
Spalte ausblenden, Formeln ausblenden, Zeilen- und Spaltenköpfe ausblenden, Blatt schützen
Gruß
versuche doch einmal anstatt in Zellbereiche das auszublendende in eine Spalte unterzubringen.
Mit einer Formel und Prüfung der Voraussetzung wird der Inhalt der ausgeblendeten Zelle dann in einer sichtbaren Zelle angezeigt.
Spalte ausblenden, Formeln ausblenden, Zeilen- und Spaltenköpfe ausblenden, Blatt schützen
Gruß