Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Lagerbestand Eingang/Ausgang Buchen
#1
Hallo zusammen,



ich möchte eine Lagerliste erstellen, in welcher ich © Materialein- und (D) -ausgänge eintragen möchte, welche dann in einer weiteren Spalte (E) zusammengefasst erscheinen sollen.

Dabei sollten nach jeder Buchung die Spalten C und D wieder gelöscht werden und die Anzahl jeweils zum Bestand hinzuaddiert bzw davon weg subtrahiert werden.



Habt ihr hierzu eine Idee ?

Ich habe hierzu ein Videotutorial gefunden allerdings hochkomplex aus über 400 Einzelvideos. Bis ich das nachgemacht habe, bin ich Rente.





Vielen Dank vorab.


Angehängte Dateien
.xlsm   Material - Projekte-Infra.xlsm (Größe: 25,37 KB / Downloads: 19)
[-] Folgende(r) 1 Nutzer sagt Danke an RowBert für diesen Beitrag:
  • Ivan 16
Top
#2
(24.03.2020, 15:59)RowBert schrieb: Dabei sollten nach jeder Buchung die Spalten C und D wieder gelöscht werden und die Anzahl jeweils zum Bestand hinzuaddiert bzw davon weg subtrahiert werden.
Geniale Idee.

"Warum ist der Bestand eigentlich -70,46?"
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • Frogger1986
Top
#3
Hallo RowBert,

probier mal das:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
If Target.Column Mod 5 = 3 Then
    Cells(Target.Row, Target.Column + 2) = Cells(Target.Row, Target.Column + 2) + Cells(Target.Row, Target.Column)
ElseIf Target.Column Mod 5 = 4 Then
    Cells(Target.Row, Target.Column + 1) = Cells(Target.Row, Target.Column + 1) - Cells(Target.Row, Target.Column)
End If

Cells(Target.Row, Target.Column) = ""
Application.EnableEvents = True


End Sub
Gruß,
Lutz
[-] Folgende(r) 2 Nutzer sagen Danke an Lutz Fricke für diesen Beitrag:
  • RowBert, Ivan 16
Top
#4
Funkioniert einwandfrei, vielen lieben Dank.
Auch wenn ich aus dem Code keine logische Schlussfolgerung ziehen kann, wie das funktioniert.

Blush
Top
#5
Hallo RowBert,

ist keine Hexerei...
Code:
Application.EnableEvents = False
schaltet die Events aus (sonst läuft der Code evtl. in Dauerschleife...).
Code:
Target.Column Mod 5 = 3
berechnet den Rest bei der Division der Spaltennummer durch 5 (da sich dein Layout 5-spaltig ist).
In der 3., 8., 13. usw. Spalte (Zugang) ist der Rest 3, in der 4., 9., 14. usw. Spalte (Abgang) ist der Rest 4.
Code:
Cells(Target.Row, Target.Column)
ist die Zelle in Zeilen- und Spalten-Schreibweise, die gerade geändert wurde.
Code:
Cells(Target.Row, Target.Column + 2)
ist folglich die Zelle zwei Spalten weiter rechts.
Code:
Cells(Target.Row, Target.Column) = ""
löscht den Inhalt der gerade geänderten Zelle.

Gruß,
Lutz
[-] Folgende(r) 1 Nutzer sagt Danke an Lutz Fricke für diesen Beitrag:
  • Ivan 16
Top
#6
Das Model ist allerdings undurchsichtig, da nach Eingabe nichts mehr nachverfolgt werden kann. Hier noch ein Beispiel von mir.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste