Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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
Inhaltsverzeichnis

Zelle vor erneuter Eingabe sperren

Zelle vor erneuter Eingabe sperren
19.05.2016 23:47:05
Oisse
Hallo Zusammen,
ich habe folgenden Code (in etwa so) hier im Forum erhalten, wenn die verkauften Stückzahlen von den vorhandenen abweichen. Es soll dann die Zeile kopiert werden und darunter mit den neuen Werten eingefügt werden.
Klappt auch super.
'Wenn sie die Stückzahlen ändern, also nicht die gesamte Stückzahl verkauft werden konnte,
'dann wird die komplette Zeile kopiert, eine neue Zeile darunter eingefügt mit den kopierten  _
Daten
'und anschließend in Spalte 5 der neue Stückzahlenwert eingetragen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dif As Long
Dim Ur As Long
Dim Ver As Long
Dim Oben As String
Dim Unten As String
' Stop
If Target.Row > 2 And Target.Column = 22 Then
Ur = Cells(Target.Row, 5)    'Angebotene Stückzahl
Ver = Target.Value  'Tatsächlich verkaufte Stückzahl
If Ur  Ver Then
Dif = Ur - Ver       'Ermitteln der neuen Stückzahl
If Dif 

Allerdings hätte ich gerne, dass es überhaupt nicht mehr möglich ist, in der ursprünglichen Zeile die verkaufte Stückzahl zu ändern. Es sollte sozusagen die Zelle vor einer weiteren Eingabe gesperrt sein.
Momentan ist es auch so, wenn in der ursprünglichen Zelle ein Wert drin steht und ich nehme ihn heraus, sodass die Zelle wieder leer ist, dann wird mir ebenfalls eine neue Zeile eingefügt, was ich aber überhaupt nicht brauchen kann.
Kann jemand helfen so, wie sonst auch?
Gruß
Oisse

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle vor erneuter Eingabe sperren
20.05.2016 11:28:42
ChrisL
Hi
Theoretisch so...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target  "" Then
ActiveSheet.Unprotect "Passwort"
Target.Locked = True
ActiveSheet.Protect "Passwort"
End If
End Sub

Um konkreter zu werden fehlt mir der Zusammenhang.
cu
Chris

AW: Zelle vor erneuter Eingabe sperren
21.05.2016 08:17:02
Oisse
Hallo Chris,
danke für die Antwort und Entschuldigung, dass ich erst jetzt antworten kann. Momentan leider viel unterwegs.
Ist denn bei deinem Code dann nicht die ganze Tabelle gesperrt vor Eingaben?
Es ist so, dass in einer Tabelle viele Artikel vorhanden sind mit entsprechenden Stückzahlen.
Nehmen wir an es sind 80 Stück Steifen vorhanden und ich verkaufe 40 dann soll, wenn die verkaufte Stückzahl eingetragen wird, darunter eine neue Zeile erstellt werden, mit den gleichen Angaben nur halt eben mit den neuen, zu verkaufenden 40 Stück.
In der Zelle, in der bereits die verkauften 40 Stück eingetragen sind, sollten keine Eingaben mehr möglich sein, sonst herrscht bald Chaos über den tatsächlichen Datenbestand.
Wie gesagt, der Code, den ich reingestellt habe, funktioniert einwandfrei.
Nur wie bekomme ich das hin, dass man explizit in dieser speziellen Zelle, in der bereits eine Stückzahl eingetragen wurde, kein Eintrag mehr vorgenommen werden kann?
Gruß Oisse

Anzeige
AW: Zelle vor erneuter Eingabe sperren
21.05.2016 08:45:04
ChrisL
Hi
Ich hätte den Ansatz etwas weiter erläutern sollen...
Eingabebreich (kann auch die ganze Tabelle sein) markieren, rechte Maustaste, Schutz entfernen. Anschliessend den Blattschutz setzen, so dass nur noch diese Zellen bearbeitet werden können.
Die Schutz-Eigenschaft wird dann bei Eingabe gesetzt.
cu
Chris

AW: Zelle vor erneuter Eingabe sperren
21.05.2016 15:28:20
Oisse
Hallo Chris,
tut mir leid, dass ich so spät erst wieder schreibe, aber ich habe jetzt versucht und versucht und ich kriegs nicht auf die Reihe.
Also ich habe die ganze Tabelle mit Ausnahme der ersten zwei Zeilen (Überschriften und Erklärungen) markiert.
Dann habe ich bei Zellen formatieren den Zellschutz für alle Zellen aufgehoben.
Bin dann auf das Tabellenblatt und habe dort den Blattschutz aktiviert und alles freigegeben, denn der Benutzer soll alles machen dürfen mit der einzigen Ausnahme: Wenn in der Spalte V bereits eine Stückzahl drin steht, darf er diese Zahl nicht mehr ändern können.
Ich habe deinen Code unten dran gehängt. Aber vielleicht muss er auch woanders hin.
Vielleicht stimmt auch die ganze Vorgehensweise nicht.
Irgendwie raff ich das nicht.
Könntest du nochmal drüberschauen und es mir nochmal erklären?
Danke
'Wenn sie die Stückzahlen ändern, also nicht die gesamte Stückzahl verkauft werden konnte,
'dann wird die komplette Zeile kopiert, eine neue Zeile darunter eingefügt mit den kopierten  _
Daten
'und anschließend in Spalte 5 der neue Stückzahlenwert eingetragen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dif As Long
Dim Ur As Long
Dim Ver As Long
Dim Oben As String
Dim Unten As String
Dim Sperre As Long
Sperre = Range("V" & Target.Row).Value
' Stop
If Target.Row > 2 And Target.Column = 22 Then
Ur = Cells(Target.Row, 5)    'Angebotene Stückzahl
Ver = Target.Value  'Tatsächlich verkaufte Stückzahl
If Ur  Ver Then
Dif = Ur - Ver       'Ermitteln der neuen Stückzahl
If Dif  "" Then
ActiveSheet.Unprotect ""
Target.Locked = True
ActiveSheet.Protect ""
End If
End Sub

Anzeige
AW: Zelle vor erneuter Eingabe sperren
23.05.2016 08:28:56
ChrisL
Hi
Vielleicht so...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dif As Long
Dim Ur As Long
Dim Ver As Long
Dim Oben As String
Dim Unten As String
Dim Sperre As Long
Sperre = Range("V" & Target.Row).Value
If Target.Row > 2 And Target.Column = 22 Then
ActiveSheet.Unprotect
If Target.Column = 22 And Target  "" Then Target.Locked
Ur = Cells(Target.Row, 5)    'Angebotene Stückzahl
Ver = Target.Value  'Tatsächlich verkaufte Stückzahl
If Ur  Ver Then
Dif = Ur - Ver       'Ermitteln der neuen Stückzahl
If Dif 

cu
Chris
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige