Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

In Zelle fortlaufend subtrahieren

Forumthread: In Zelle fortlaufend subtrahieren

In Zelle fortlaufend subtrahieren
24.05.2024 08:38:09
Sebastl
Hallo zusammen,

ich bin ganz neu hier und habe mir jetzt 1,5h einen Wolf gesucht.
Eventuell ist meine Frage ganz einfach zu beantworten, aber ich habe
leider nur Basiskenntnisse in Excel und versuche da gerade reinzuwachsen.

Ich möchte mir einen verbleibenden Stundenvorrat anzeigen lassen, von dem
fortlaufend weiter subtrahiert wird.
(Zahlen sind jetzt nur beispielhaft):

Zelle A1 (Stunden gesamt) = 100
Zelle B1 (Stunden gebucht) = 8
Zelle C1 (Stunden verbleibend) = 92 , die Formel für C1 ist klar.

Wie kann ich nun ab der ersten Eingabe C1 als Basiswert nehmen und in B1
einfach ständig neue Zahlen eingeben, bis C1 irgendwann bei 0 ist? Ansonsten
müsste ich ja B1 immer manuell hochrechnen und eintragen, die Zahlen sind
leider deutlich höher mit mehreren Kommastellen...

Viele Grüße,
Basti
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: In Zelle fortlaufend subtrahieren
24.05.2024 09:23:49
MCO
Moin!

Wäre es so auch eine Alternative?
Spalte B kann so viele Einträge enthalten wie nötig sind...




-ABC
1100810,5
215
322
433,5
511


-ABC
11008=A1-SUMME(B1:B25)
215
322
433,5
511


Gruß, MCO
Anzeige
AW: In Zelle fortlaufend subtrahieren
24.05.2024 10:01:12
UweD
Hallo


In einer Zelle kann entweder eine Formel oder ein Wert stehen.

Das was du vorhast, geht nur per VBA. Da ist dein Kenntnisstand aber scheinbar zu gering.

Falls du es trotzdem versuchen mochtest...

- Rechtsklick auf den Tabellenblattreiter
- Code anzeigen
- Rechts das hier reinkopieren

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
If Not Intersect(Target, Range("B1")) Is Nothing Then
If IsNumeric(Target) And Target > "" Then
With Target.Offset(0, 1)
Application.EnableEvents = False
.Value = .Value - Target
If .Value 0 Then
MsgBox "! Zielwert wird unterschritten !" & vbLf & vbLf & "Ich storniere die Eingabe"
.Value = .Value + Target
Target = 0
ElseIf .Value = 0 Then
MsgBox "! Zielwert erreicht !"
End If
End With
ElseIf Target = "" Then
Application.EnableEvents = False
Target.Offset(0, 1) = Target.Offset(0, -1)
MsgBox "Reset durchgeführt"
Else
Application.EnableEvents = False
MsgBox "Falscheingabe" & vbLf & vbLf & "Ich storniere die Eingabe"
Application.Undo
End If
End If

'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub


Eingaben in Zelle B1 werden nun überwacht.

Ich habe mal verschiedene Szenarien versucht zu berücksichtigen
- Eingabe Zahl, Zielwert >0
- Eingabe Zahl, Zielwert 0
- Leeren von B1
- Text in B1


LG UweD
Anzeige
AW: In Zelle fortlaufend subtrahieren
24.05.2024 09:56:31
Sebastl
Moin, das hatte ich mir auch überlegt. Problem ist nur das die Spalte B dann schnell unübersichtlich wird.
Dort wären dann pro Zeile für den Startwert ca. 30-80 weitere Einträge nötig, und in jeder Zeile sind
untereinander eigentlich mehrere verschiedene Stundenvorräte aufgelistet...
AW: In Zelle fortlaufend subtrahieren
24.05.2024 11:21:07
{Boris}
Hi,

zeig doch mal ne Beispieldatei mit Deinen "echten" Anforderungen.

Bis hierher würde ich es so (simpel) machen: https://www.herber.de/bbs/user/169687.xlsx

VG, Boris
Anzeige
AW: In Zelle fortlaufend subtrahieren
24.05.2024 11:53:43
Sebastl
Vielen Dank für eure Antworten!

@Uwe: Das übersteigt bei weitem meine Fähigkeiten, dennoch einen riesen
Dank das du dir die Mühe gemacht hast!

@Boris: Ich denke so werde ich das umsetzen. Dann werden die versch. Stundenvorräte einfach in Spalten anstatt Zeilen dargestellt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige