Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Auftragsformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Zellen für eine einmalige Eingabe beschränken

In diesem Beispiel zeigen wir Ihnen, wie Sie eine Zelle beziehungsweise einen Zellbereich für eine einmalige Eingabe von Text oder Zahlen beschränken können.

In diesem Beispiel soll der Zellbereich B3:E9 entsprechend eingeschränkt werden. Um dies zu realisieren sind wenige Zeilen VBA-Code notwendig, siehe Listing. Fügen Sie diesen Code bitte in das Code-Modul des zu schützenden Tabellenblatts ein.

 

Private Sub Worksheet_Change(ByVal Target As Range)
'** In die aktive Zelle darf einmalig ein Wert erfasst werden

'** Blattschutz aufheben
ActiveSheet.Unprotect

'** Die Beschränkung auf den Zellbereich B3 bis E9 herstellen
If Not Application.Intersect(Target, Range("B3:E9")) Is Nothing Then
    ActiveCell.Locked = True
End If

'** Blattschutz aktivieren
ActiveSheet.Protect

End Sub

So funktioniert der Code:

  1. Da sich der Code auf dem Modul-Blatt des relevanten Tabellenblatts befindet wird das Ereignis Worksheet_Change bei jeder Änderung einer Zelle ausgeführt.
  2. Dabei wird zuerst der Blattschutz wird aufgehoben (im Beispiel ohne Passwort)
  3. Über den Befehl Intersect erfolgt die Beschränkung auf den Bereich B3 bis E9, so dass sich Änderungen nur in diesem Zellbereich auswirken.
  4. Erfolgt eine Eingabe in diesem Zellbereich wird die veränderte Zelle geschützt, so dass durch das Setzen des Blattschutzes im Anschluss die einmal geänderte Zelle nicht noch einmal geändert werden kann.

 Die Beispieldatei können Sie über den folgenden Link herunterladen.

 

   

Relevante Artikel

  • Zelladresse in Spalten- und Zeilenangaben trennen

    101084 Dieser Code trennt die Angabe der Adresse C15 in die Spalte C und in die Zeile 15. Die Trennung erfolgt mit der Funktion "Split". Es ist gleichgültig, wie lange die Spaltenangabe...

  • Hyperlinks per VBA auslesen

    101083 Mit diesem Makro können alle Hyperlinks eines definierten Zellbereichs ausgelesen werden. Das Makro durchforstet in diesem Beispiel die Spalte A und listet die Ergebnisse, also alle...

  • Absolute in relative Zellbezüge umwandeln und umgekehrt

    101067 Die folgenden Makros wandeln vorhandene Zellbezüge in absolute bzw. relative Bezüge um. Zur Umwandlung von relativen Zellbezüge in absolute Bezüge, kann das Makro "absolut" verwendet...

  • Zeilen abhängig von einer bestimmten Bedingung löschen

    Bedingte Zeilenlöschung Mit diesem Makro können sie Zeilen abhängig von einer Bedingung löschen. Die Bedingung in diesem Beispiel ist der Buchstabe "x" in der ersten Spalte. Das bedeutet, wenn eine...

  • Änderungen von Zellen dokumentieren

    101002 Einfügen in Tabellenblatt (nicht Code-Modul)   Mit diesem Code können Änderungen live in einer Spalte dokumentiert werden. Der Änderungshinweis wird in einer definierten Spalte ausgegeben.   Wenn Sie...