Guten Morgen,
vielen Dank schonmal für eure Antworten und Hinweise!
Die Format-Funktion gibt nur ein Datum aus, wenn ich es so formuliere: Format(Now, "dd.mm.yy") (Ja, im String).
Die Artikelnummern habe ich festgelegt (6000 - 6050) und die Buchungsmenge ist die eingetragene Entnahmemenge als negativer Wert. (Mit "<1) verhindere ich einfach, dass die Warenzugänge mit addiert werden in den Verbauch)
Ich habe auch schon versucht mit =Date oder in der Sumifs-Formel CDate(enddate) zu arbeiten. Es kommt immer das gleiche Ergebnis raus. Habe mir auch schon die einzelnen Werte separat anzeigen lassen. Wenn ich die Referenz zum Zeitraum aus der Formel rauslasse, dann zeigt mir die Formel immer genau die gewünschte Summe des Gesamtverbrauches an. Bei Slider.Value = 0 soll die Sumifs-Formel den Verbrauch von heute anzeigen - Das tut er auch. Hier verwende ich keine Vergleichsoperaten wie "<=" sondern nur "Sumifs(....., Col4, enddate). Sobald ich versuche den Zeitraum einzugrenzen mithilfe der Vergleichsoperaten, kommen keine vernünfitgen Ergebnisse mehr raus. Ich habe mir alle Werte auch so mal anzeigen lassen und Prüfungen gemacht, um die Werte außerhalb der Funktion in Verbindung zu setzen. Bspw. sowas:
MsgBox Scanartikel & "_" & enddate & "_" & VerbrauchOH & "_" & Range("D20") & "_" & Slider1.Value & "_" & Format(Now - (Slider1.Value * 7), "dd.mm.yyyy")
Debug.Print Verbrauch
Debug.Print enddate
Debug.Print Artikel
If enddate >= "05.10.2021" Then
Debug.Print "wahr"
Else
Debug.Print "falsch"
End If
Es kamen immer die richtigen Werte raus.
Hier nochmal der Code des Gesamtverbrauches:
Private Sub Artikel_Click()
'Bild in Maske laden
On Error Resume Next
Verbrauchsübersicht.Image1.Picture = LoadPicture(...)
Dim Scanartikel
Set Scanartikel = Sheets("Warenbewegung").Columns(1).Find(what:=Right(Artikel, 4))
Dim rng3 As Range
Set rng3 = Sheets("Warenbewegung").Columns(5)
Dim rng As Range
Set rng = Sheets("Warenbewegung").Columns(1)
If Not Scanartikel Is Nothing Then
Dim Ergebnis As Long
Ergebnis = Application.WorksheetFunction.SumIfs(rng3, rng, Scanartikel, rng3, "<1")
Paletten.Value = Ergebnis / -1
Else
MsgBox "Artikel wurde noch nicht verbraucht!"
End If
Dim Bestandsartikel
Set Bestandsartikel = Sheets("Bestandsübersicht").Columns(1).Find(what:=Right(Artikel, 4))
TextBox3.text = Bestandsartikel.text
TextBox4.text = Bestandsartikel.offset(0, 2).text
TextBox6.text = Bestandsartikel.offset(0, 4).text
TextBox7.text = Bestandsartikel.offset(0, 1).text
BIST.text = Bestandsartikel.offset(0, 6).text
BSOLL.text = Bestandsartikel.offset(0, 9).text
End Sub
Ich bin neu in dem Thema und zum ersten Mal so in einem Forum. Gibt es eine Möglichkeit euch die Datei zu schicken oder Bilder einzubetten?
Gruß,
M
|