Supportnet / Forum / Tabellenkalkulation
Aktuelle Zelle farbig in geschütztem Blatt
Frage
Hallo
Habe den Code gefunden der die aktuelle Zelle farbig hervorhebt.
Wie kann ich das in einer mit Passwortgeschütztem Blatt machen, denn mit dem Code unten klappt es im geschützten Blatt leider nicht?
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Static Zelle As Range
If Not Zelle Is Nothing Then
Cells.Interior.ColorIndex = xlNone
End If
Target.Interior.ColorIndex = 4 ' Grün
Set Zelle = Target
End Sub
Danke im voraus
Chrigel
Antwort 1 von Guenter
Hallo,
probiere es mal so:
Gruß
Günter
probiere es mal so:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
ActiveSheet.Unprotect password:="Dein Passwort"
Static Zelle As Range
If Not Zelle Is Nothing Then
Cells.Interior.ColorIndex = xlNone
End If
Target.Interior.ColorIndex = 4 ' Grün
Set Zelle = Target
Worksheets("Tabelle1").Protect password:="Dein Passwort"
End Sub
Gruß
Günter
Antwort 2 von Chrigel
Hoi Günter der Code funktioniert perfekt.
Nur habe ich das Problem wenn ich das Blatt bearbeiten will, wird es gleich wieder geschützt, sobald ich in eine Zelle klicke. Wie kann ich den Code am einfachsten während der Bearbeitungszeit unterbrechen.
Danke
Chrigel
Nur habe ich das Problem wenn ich das Blatt bearbeiten will, wird es gleich wieder geschützt, sobald ich in eine Zelle klicke. Wie kann ich den Code am einfachsten während der Bearbeitungszeit unterbrechen.
Danke
Chrigel
Antwort 3 von Guenter
Hallo,
wenn Du die Zeile
weg nimmst, beleibt das Blatt ungeschützt. Du kannst dann nach Bearbeitung schützen, z.B. bevor gespeichert, oder gedruckt wird, usw.
Ansonsten verstehe ich nicht so ganz, warum das Blatt geschützt ist, Du aber Eingaben machen willst??
Gruß
Günter
wenn Du die Zeile
Worksheets("Tabelle1").Protect password:="Dein Passwort"
weg nimmst, beleibt das Blatt ungeschützt. Du kannst dann nach Bearbeitung schützen, z.B. bevor gespeichert, oder gedruckt wird, usw.
Ansonsten verstehe ich nicht so ganz, warum das Blatt geschützt ist, Du aber Eingaben machen willst??
Gruß
Günter
Antwort 4 von Chrigel
Hoi Günter
Sorry dass ich mich erst jetzt wieder melde, aber ich kam einfach nicht mehr dazu.
Die Datei ist eine Telefonliste, und darum muss sie von Zeit zu Zeit auch wieder bearbeitet werden. Ich kann die 2 Zeilen mit dem Hochkomma deaktivieren dann gehts, aber es mutieren 2 bis 3 Leute mit zum Teil wenig PC Erfahrung.
Hoffe dass es doch noch eine einfache Methode um den Code vorübergehend zu deaktivieren.
Gruss
Chrigel
Sorry dass ich mich erst jetzt wieder melde, aber ich kam einfach nicht mehr dazu.
Die Datei ist eine Telefonliste, und darum muss sie von Zeit zu Zeit auch wieder bearbeitet werden. Ich kann die 2 Zeilen mit dem Hochkomma deaktivieren dann gehts, aber es mutieren 2 bis 3 Leute mit zum Teil wenig PC Erfahrung.
Hoffe dass es doch noch eine einfache Methode um den Code vorübergehend zu deaktivieren.
Gruss
Chrigel
Antwort 5 von coros
Moin,
den Blattschutz kannst Du doch über Extras -> Schutz wieder aufheben. Damit gewährleistet ist, dass nur Du die Datei bearbeiten kannst, setze den Blattschutz mit nachfolgendem Code beim Beenden Deiner Datei.
Beim Beenden der Datei wird nun Dein Blatt wieder Passwortgeschützt.
Den Code musst Du in Diese Arbeitsmappe in der VBA- Umgebung eintragen oder kopieren.
Ich hoffe, ich konnte Dir weiterhelfen,
coros
Und nicht vergessen, hier noch einmal zu posten, ob Dich die Hilfe weitergebracht oder sogar
Dein Problem gelöst hat.
den Blattschutz kannst Du doch über Extras -> Schutz wieder aufheben. Damit gewährleistet ist, dass nur Du die Datei bearbeiten kannst, setze den Blattschutz mit nachfolgendem Code beim Beenden Deiner Datei.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Protect "Hier Dein Paßwort"
End Sub
Beim Beenden der Datei wird nun Dein Blatt wieder Passwortgeschützt.
Den Code musst Du in Diese Arbeitsmappe in der VBA- Umgebung eintragen oder kopieren.
Ich hoffe, ich konnte Dir weiterhelfen,
coros
Und nicht vergessen, hier noch einmal zu posten, ob Dich die Hilfe weitergebracht oder sogar
Dein Problem gelöst hat.
Antwort 6 von Guenter
Hallo,
ich stimme coros zu. Am einfachsten wird wohl dieses Ereignis-Makro sein.
Andere Möglichkeiten (Ereignisse) kann Du im Editor sehen (z.B. BeforeSave, BeforePrint, Deactivate, usw.)
Gruß
Günter
ich stimme coros zu. Am einfachsten wird wohl dieses Ereignis-Makro sein.
Andere Möglichkeiten (Ereignisse) kann Du im Editor sehen (z.B. BeforeSave, BeforePrint, Deactivate, usw.)
Gruß
Günter
Antwort 7 von Chrigel
Danke beiden für die Antwort
Es ist richtig dass ich den Blattschutz über "Extras-Schutz" aufheben kann. Nur wenn ich mit dem Cursor in eine Zelle klicke wird automatisch der Code für die farbige aktive Zelle gestartet, und der setzt dann den Blattschutz sofort wieder aktiv.
Die einfachste Methode wird wohl sein, wenn ich die 2 Zeilen im Code während der Bearbeitungszeit deaktiviere.
Danke
Chrigel
Es ist richtig dass ich den Blattschutz über "Extras-Schutz" aufheben kann. Nur wenn ich mit dem Cursor in eine Zelle klicke wird automatisch der Code für die farbige aktive Zelle gestartet, und der setzt dann den Blattschutz sofort wieder aktiv.
Die einfachste Methode wird wohl sein, wenn ich die 2 Zeilen im Code während der Bearbeitungszeit deaktiviere.
Danke
Chrigel
Antwort 8 von coros
Moin,
man könnte das so erledigen, in dem man eine Variable erzeugt, die man dann mit dem Makro verknüpft. Diese Variable, kann man z.B. über eine Schaltfläche erzeugen. Sie würde dazu dienen, die Zellenmarkierung für die Dauer der Änderungen in Deiner Tabelle zu deaktivieren. Die Schaltfläche könnte man mit einem Paßwort versehen, so dass nur Du die Zellenmarkierung ausschalten kannst.
Hier mal das Beispiel:
Dein bereits bestehendes Makro in der die Änderung schon eingebaut ist.
Mit diesem Makro wird die Variable erzeugt. Füge ein Modul ein und kopiere das Makro dort hinein
Dann musst Du noch eine Schaltfläche über Steuerelement - Toolbox in Deiner Tabelle erstellen und kopierst nachfolgenden Code in die Schaltfläche.
So, das wars und so sollte es auch funktionieren.
Ich hoffe, ich konnte Dir weiterhelfen,
coros
Und nicht vergessen, hier noch einmal zu posten, ob Dich die Hilfe weitergebracht oder sogar
Dein Problem gelöst hat.
man könnte das so erledigen, in dem man eine Variable erzeugt, die man dann mit dem Makro verknüpft. Diese Variable, kann man z.B. über eine Schaltfläche erzeugen. Sie würde dazu dienen, die Zellenmarkierung für die Dauer der Änderungen in Deiner Tabelle zu deaktivieren. Die Schaltfläche könnte man mit einem Paßwort versehen, so dass nur Du die Zellenmarkierung ausschalten kannst.
Hier mal das Beispiel:
Dein bereits bestehendes Makro in der die Änderung schon eingebaut ist.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
ActiveSheet.Unprotect password:="Dein Passwort"
If AUS_EIN = 1 Then
Static Zelle As Range
If Not Zelle Is Nothing Then
Cells.Interior.ColorIndex = xlNone
End If
Target.Interior.ColorIndex = 4 ' Grün
Set Zelle = Target
Worksheets("Tabelle1").Protect password:="Dein Passwort"
End If
End SubMit diesem Makro wird die Variable erzeugt. Füge ein Modul ein und kopiere das Makro dort hinein
Public AUS_EIN As Integer
Sub an_aus()
If InputBox("Bitte Paßwort eingeben!", "Abfrage") = "Dein Paßwort" Then
If AUS_EIN = 0 Then
AUS_EIN = 1
ElseIf AUS_EIN = 1 Then
AUS_EIN = 0
End If
Else
MsgBox "Sie haben ein falsches Paßwort eingegeben! Bitte wiederholen Sie die Eingabe."
End If
End Sub
Dann musst Du noch eine Schaltfläche über Steuerelement - Toolbox in Deiner Tabelle erstellen und kopierst nachfolgenden Code in die Schaltfläche.
Private Sub CommandButton1_Click()
Call an_aus
End Sub
So, das wars und so sollte es auch funktionieren.
Ich hoffe, ich konnte Dir weiterhelfen,
coros
Und nicht vergessen, hier noch einmal zu posten, ob Dich die Hilfe weitergebracht oder sogar
Dein Problem gelöst hat.
Antwort 9 von Chrigel
Hoi coros
klappt prima.
Besten Dank
Chrigel
klappt prima.
Besten Dank
Chrigel
Antwort 10 von coros
Moin Chrigel,
freut mich, dass Dir mein Vorschlag gefallen hat und Dich scheinbar auch zufrieden gestellt hat. Danke auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll aber alle machen mit.
freut mich, dass Dir mein Vorschlag gefallen hat und Dich scheinbar auch zufrieden gestellt hat. Danke auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll aber alle machen mit.
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Wie programmiere ich ein Makro in Excel damit ich von Zelle a1 zu Zelle a2 automatisch weiterhüpfe nach drücken der Entertaste
- Name aus der Zelle als Blatt-Name übernehmen
- Zeile ausblenden, wenn Text in einer Zelle farbig??
- Excel : In einer Zelle hinterlegter Hyperlink in Zelle daneben in Textform anzeigen lassen
- nur die aktive Zelle Farbig

