Herbers Excel-Forum - das Archiv
Zelle nach Eingabe sperren (VBA)
Informationen und Beispiele zu den hier genannten Dialog-Elementen:

|
Betrifft: Zelle nach Eingabe sperren (VBA)
von: Ina
Geschrieben am: 14.12.2003 19:47:52
Hallo Forum,
ich habe schon wieder ein Problem...
Ist es möglich, eine Zelle (D3) per VBA zu sperren, wenn ein Wert eingegeben wurde und nur per Button wieder zu entsperren, um einen neuen Wert einzugeben?
Wer kann helfen?
Danke und Gruss Ina
Betrifft: AW: Zelle nach Eingabe sperren (VBA)
von: Josef Ehrensberger
Geschrieben am: 14.12.2003 20:08:17
Hallo Ina,
probier mal diesen Code.
nach einem Eintrag wird die Zelle "D3" gesperrt,
nach Doppelklick entsperrt.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$D$3" Then
ActiveSheet.Unprotect
Target.Locked = False
ActiveSheet.Protect
End If
End Sub
Code eingefügt mit
Syntaxhighlighter 2.5
Gruß Sepp
Betrifft: Noch offen: Zelle nach Eingabe sperren (VBA)
von: Ina
Geschrieben am: 14.12.2003 20:40:43
Hallo Sepp,
vielen Dank für Deinen Tip.
Leider wird mit dem Code nach Eingabe in D3 das ganze Arbeitsblatt gesperrt, ein weiteres Arbeiten in anderen Bereichen der Tabelle soll aber weiter möglich sein.
Und... falls per VBA möglich, soll die Zelle D3 nur per Button wieder entsperrt werden können.
Hast Du vielleicht noch einen anderen Tip?
Danke und Gruss Ina
Betrifft: AW: Noch offen: Zelle nach Eingabe sperren (VBA)
von: Ramses
Geschrieben am: 14.12.2003 20:52:22
Hallo
worin soll der Sinn liegen, die Zelle zu sperren, wenn jeder über einen Button die Zelle wieder entsperren kann.
Grundsätzlich ist es nur möglich einzelne Zellen zu sperren, wenn für alle anderen zellen der Schutz entfernt wird und nur für diese Zelle gesetzt wird.
Ein Zelle kann nur gesperrt werden, indem die Tabelle geschützt wird.
So sind die Regeln... :-)
Gruss Rainer
Betrifft: AW: Noch offen: Zelle nach Eingabe sperren (VBA)
von: Ina
Geschrieben am: 14.12.2003 21:10:16
Hallo Ramses,
der Zweck ist, das nur mit Klick auf den Button eine Neueingabe in Zelle D3 ermöglicht und durch den Klick Zellinhalte in einem weiteren Bereich gelöscht werden.
Hast Du einen Tip?
Dank und Gruss Ina
Betrifft: Selektives Sperren einer Zelle
von: Ramses
Geschrieben am: 14.12.2003 21:25:48
Hallo Ina
dieser Code gehört in das Klassenmodul "Diese Arbeitsmappe"
Option Explicit
Private Sub Workbook_Open()
chkVal = False
End Sub
Code eingefügt mit Syntaxhighlighter 1.16
Dieser Code gehört in das Klassenmodul der Tabelle wo das ganze funktionieren soll
Option Explicit
Private Sub CommandButton1_Click()
chkVal = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(False, False) = "D3" And chkVal = True Then
chkVal = False
ElseIf Target.Address(False, False) = "D3" And chkVal = False Then
Target.Offset(0, -1).Select
End If
End Sub
Code eingefügt mit Syntaxhighlighter 1.16
Erstelle auf der Tabelle einen Button aus der Steuerelement Toolbox und weise diesem Button den Code von Commandbutton1 zu
Der Code gehört in ein Modul
Option Explicit
Public chkVal As Boolean
Code eingefügt mit Syntaxhighlighter 1.16
Die Mappe speichern und wieder öffnen.
Wenn du nun auf den Button klickst, wird die Variable auf "True" gesetzt und du kannst die Zelle auswählen. Gleichzeitig wird die Variable wieder auf False gesetzt.
Solltest du die zelle so auswählen ohne den Button anzuklicken, wird die zelle links davon ausgewählt.
Mehr geht nicht ohne Tabellenschutz.
Gruss Rainer
Betrifft: AW: Selektives Sperren einer Zelle
von: Ina
Geschrieben am: 14.12.2003 21:59:57
Hallo Rainer,
der Code funktioniert super (Zelle gesperrt...).
Habe jetzt allerdings ein weitere Problem.
Wie kann ich einen Button mit dem Namen CommandButton1 in die Tabelle einfügen und mit dem Macro verbinden??
Dem vorhandenen Button (aus einer anderen Excel8-Tabelle kopiert) kann ich einfach nicht beibringen, was er zu machen hat. :-(
Kannst Du noch einmal helfen?
Danke und Gruss Ina
Betrifft: AW: Selektives Sperren einer Zelle
von: Ramses
Geschrieben am: 14.12.2003 22:05:33
Hallo
Ansicht - Symbolleisten - "Steuerelement Toolbox"
Dort einen Button auf die Tabelle ziehen
Doppelklick auf den Button
Code einfügen
Entwurfmodus ausschalten ( Symbol mit Dreieck ganz links in der Symbolleiste )
Viel Spass
Gruss Rainer
Betrifft: AW: Selektives Sperren... Danke Ramses
von: Ina
Geschrieben am: 14.12.2003 22:12:36
Hallo Rainer,
vielen Dank noch einmal für Deine Mühe.
Das hat alle wunderbar geklappt!
Grüsse Ina
Betrifft: Merci :-)) Geschlossen. o.T.
von: Ramses
Geschrieben am: 14.12.2003 22:19:02
...
Betrifft: AW: Zelle nach Eingabe sperren (VBA)
von: Werner
Geschrieben am: 14.12.2003 20:51:14
Hallo Sepp
habe dein VBA Code sofort bei mir ausprobiert.
Toll !
1 Nachteil ist aber da. Nach Eingabe in D3 ist das ganze Blatt und nicht nur die Zelle geschützt. Hast du dafür auch was ?
Tschüs Werner