Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Summe?

Summe?
Pesi
Hallo
Zelle E10 ist Lagerstand zb. 100
Zelle F10 ist Ausgang zb. 20
Zelle G10 ist Eingang zb. 18
meine Frage, in Zelle E10 wird der Lagerstand eingetragen der sich automatisch korrigieren soll wenn mann einen Ausgang oder Eingang einträgt.
mit einer Formel (summe) bekomme ich das nicht hin da die daten immer geändert werden und man dabei die Formel löscht.
geht das mit VBA?
lg Pesi

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

Betreff
Benutzer
Anzeige
AW: Summe?
16.02.2006 10:56:32
Andi
Hi,
gehen täte das so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$10" Then Range("E10").Value = Range("E10").Value - Target.Value
If Target.Address = "$G$10" Then Range("E10").Value = Range("E10").Value + Target.Value
End Sub

Allerdings frage ich mich, wieso sich am Lagerbestand was ändert, ohne dass man bei 'Eingang' oder 'Ausgang' was einträgt. Andererseits, mein Nachbar hat in seiner Jugend mal in nem Schnapslager gearbeitet, da is sowas auch vorgekommen, speziell Freitag Nachmittags... :-))
Schönen Gruß,
Andi
Anzeige
AW: Summe?
16.02.2006 11:33:54
Pesi
Hallo Andi
auch dieser Code hat super funktioniert
ich habe leider vergessen zu posten das das ganze auch in Zeile 10 bis 300 funktionieren soll
kannst du mir den Code bitte ändern. sorry
LG Pesi
AW: Summe?
16.02.2006 11:41:55
Andi
Hi,
dann zB so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [F10:F300]) Is Nothing Then
Target.Offset(0, -1).Value = Target.Offset(0, -1).Value - Target.Value
ElseIf Not Intersect(Target, [G10:G300]) Is Nothing Then
Target.Offset(0, -2).Value = Target.Offset(0, -1).Value + Target.Value
End If
End Sub

Schönen Gruß,
Andi
Anzeige
AW: Summe?
16.02.2006 11:03:06
Harald
Hi Pesi,
eine Möglichkeit per Doppelklick. Der Code gehört dann ebenfalls in das Blattmodul.
Doppelklick in die entsprechende Zelle von Spalte F oder G, löst den Vorgang aus

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim spalte As Long, ausgang As String, eingang As String
spalte = ActiveCell.Column
zeile = ActiveCell.Row
Select Case spalte
Case Is = 6
ausgang = InputBox("Wieviele Teile werden ausgebucht ?")
Range("e" & zeile).Value = Range("e" & zeile).Value - CDbl(ausgang)
ActiveCell = ausgang
Case Is = 7
eingang = InputBox("Wieviele Teile werden zugebucht ?")
Range("e" & zeile).Value = Range("e" & zeile).Value + CDbl(eingang)
ActiveCell = eingang
Case Else
End Select
Cancel = True
End Sub

Gruss Harald
Anzeige
AW: Summe?
16.02.2006 11:13:26
Gert
Hallo Pesi,
jede Lagerbewegung soll extra gebucht werden.Bei Deinem Beispiel sind 2Vorgänge
in einem Buchungssatz (Datensatz) enthalten (1 Datensatz für "Warenausgang" und
1 Datensatz für "Wareneingang") wäre richtig.
Oder hab ich Deine Frage falsch verstanden.
In E10 sollte folgende Formel stehen.
=WENN(UND(F10="";G10="");"";WENN(F10&lt&gt"";E9-F10;WENN(G10&lt&gt"";E9+G10;"")))
In E10 wird nun 80 ausgewiesen da 20 Stck.Abgang subtrahiert wurden.
Der Warenzugang wird in "Zeile 11" verarbeitet.
mfg
Gert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige