Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1440to1444
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

Datum

Datum
20.08.2015 09:58:33
Shawn
Guten Tag Excel-Profis
Weiss nicht mehr weiter hab probleme mit
dem Wochenende würde gerne rechnen (Samstag +2 Tage), (Sonntag +1 Tag)
Also wenn ich z.b in Zelle
AG1 das Datum 20.08.2015 drinstehn habe und in Zelle AJ1 die Formel: =AG1+WENN(WOCHENTAG(AG1;2)=5;3;WENN(WOCHENTAG(AG1;2)=6;2;1))
wenn AG1 20.08.2015 in AJ1 : 21.08.2015 an (Datum stimmt so)
wenn AG1 21.08.2015 in AJ1 : 24.08.2015 (Datum stimmt so)
wenn AG1 22.08.2015 in AJ1 : immer noch den 24.08.2015 (soll aber 25.08.2015)
wenn AG1 23.08.2015 in AJ1 : immer noch den 24.08.2015 (soll aber 26.08.2015)
wenn AG1 24.08.2015 in AJ1 : 25.08.2015 (soll aber 27.08.2015)
Vielen Dank für eure Kompetente Hilfe
Gruss Shawn

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachfrage..
20.08.2015 10:24:49
UweD
Hallo
warum soll am 24.08.2015 (=Montag) der 27. rauskommen? der 25. wäre doch richtig
LG UweD

AW: Nachfrage..
20.08.2015 10:45:35
Shawn
Hallo Uwe
es geht um die Arbeitsplanung
Mein Makro bucht Aufträge jeweils 8 Aufträge ein nach dem 8. ein Arbeitstag vor, aber am Samstag sollte er 2 Tage Vorspringen Sprich auf Montag und Sonntags sollt er nochmals 2 Tage Vorspringen Sprich auf Dienstag
Hier das Makro zu erklärung:
Sub Lieferschein_DECO() ' LieferscheinDECO in Daten Produktion einbuchen Dim ZeileNr As Long Dim i As Long ZeileNr = 19 i = 0 ActiveSheet.Unprotect "xxxx" While Sheets("Vorlage Lieferschein").Range("E" & ZeileNr).Value "" Sheets("Eingabe Daten Prod. Auftrag").Range("G2").Value = _ Sheets("Vorlage Lieferschein").Range("E" & ZeileNr).Value Sheets("Eingabe Daten Prod. Auftrag").Range("M2").Value = _ Sheets("Vorlage Lieferschein").Range("C" & ZeileNr).Value Sheets("Eingabe Daten Prod. Auftrag").Range("K2").Value = _ Sheets("Vorlage Lieferschein").Range("H" & ZeileNr).Value Sheets("Eingabe Daten Prod. Auftrag").Range("C2").Value = _ Sheets("Vorlage Lieferschein").Range("B" & ZeileNr).Value Call Schaltfläche98_Klicken i = i + 1 If i = 8 Then 'Anzahl max Aufträge i = 0 Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").Value = _ Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").Value + 1 End If ZeileNr = ZeileNr + 1 Wend Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").FormulaLocal = "=HEUTE()" If ZeileNr > 19 Then MsgBox "Positionen auf Lieferschein " & ZeileNr - 19 Else MsgBox "Bestellerfassung nicht Ausgeführt da auf Lieferschein E19 Leer ist !" End If Sheets("Eingabe Daten Prod. Auftrag").Range("C2").ClearContents ' welches ist das aktive Blatt? Range("G2").ClearContents Range("K2").ClearContents Range("M2").ClearContents Sheets("Vorlage Lieferschein").Delete Sheets("Eingabe Daten Prod. Auftrag").Range("V2:Y2").ClearContents Sheets("Eingabe Daten Prod. Auftrag").Unprotect Password:="shsq" Sheets("Eingabe Daten Prod. Auftrag").EnableAutoFilter = True Sheets("Eingabe Daten Prod. Auftrag").Protect UserInterfaceOnly:=True, _ Password:="xxxx" End Sub

Anzeige
AW: Nachfrage..
20.08.2015 11:29:00
Shawn
Also wenn Sonntag ist bucht er mir nochmals auf Montag ein

da gibts einen Widerspruch Deiners Wunsches
20.08.2015 10:25:24
Matthias
Hallo
(Samstag +2 Tage), (Sonntag +1 Tag)
Du widersprichst Dir selbst
 ABC
2  Du wolltest
3Sa. 22.08.2015Mo. 24.08.2015Sa + 2 Tage
4So. 23.08.2015Mo. 24.08.2015So + 1 Tag

Formeln der Tabelle
ZelleFormel
B3=A3+2
B4=A4+1


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Dann ist der 24.08.2015 ja korrekt!
Gruß Matthias

Anzeige
AW: da gibts einen Widerspruch Deiners Wunsches
20.08.2015 10:47:56
Shawn
Hallo
Da hast du Recht habe von lauter Datum den Baum nicht mehr gesehen
Samstag 2 Tage vorspringen
Sonntag 2 Tage vorspringen

hier (m)eine VBA-Variante ohne Wochenende
20.08.2015 12:11:16
Matthias
Hallo
Hier ein kurzes Beispiel

Die Datei https://www.herber.de/bbs/user/99703.xlsm wurde aus Datenschutzgründen gelöscht


Gruß Matthias

AW: hier (m)eine VBA-Variante ohne Wochenende
20.08.2015 13:24:08
Shawn
Hallo Matthias
Danke für deine bemühungen :-)
Habe selber nen knoten drin. Ich hätte das Datum gerne so wie in deiner Datei (habs reingeschrieben) https://www.herber.de/bbs/user/99708.xlsm
und wie bringe ich jetzt das ganze in mein Makro
Hier mein Makro: in AG1 im Makro schreibt er mir immer + 1 Tag nach 8 mal einbuchen (Call Schaltfläche98_Klicken)( (hier liegt das Problem dass er samstag und sonntag vorspringen müsste)
Sub Lieferschein_DECO()
' LieferscheinDECO in Daten Produktion einbuchen
Dim ZeileNr As Long
Dim i As Long
ZeileNr = 19
i = 0
ActiveSheet.Unprotect "shsq"
While Sheets("Vorlage Lieferschein").Range("E" & ZeileNr).Value  ""
Sheets("Eingabe Daten Prod. Auftrag").Range("G2").Value = _
Sheets("Vorlage Lieferschein").Range("E" & ZeileNr).Value
Sheets("Eingabe Daten Prod. Auftrag").Range("M2").Value = _
Sheets("Vorlage Lieferschein").Range("C" & ZeileNr).Value
Sheets("Eingabe Daten Prod. Auftrag").Range("K2").Value = _
Sheets("Vorlage Lieferschein").Range("H" & ZeileNr).Value
Sheets("Eingabe Daten Prod. Auftrag").Range("C2").Value = _
Sheets("Vorlage Lieferschein").Range("B" & ZeileNr).Value
Call Schaltfläche98_Klicken
i = i + 1
If i = 8 Then  'Anzahl max Aufträge
i = 0
Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").Value = _
Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").Value + 1
End If
ZeileNr = ZeileNr + 1
Wend
Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").FormulaLocal = "=HEUTE()"
If ZeileNr > 19 Then
MsgBox "Positionen auf Lieferschein " & ZeileNr - 19
Else
MsgBox "Bestellerfassung nicht Ausgeführt da auf Lieferschein E19 Leer ist !"
End If
Sheets("Eingabe Daten Prod. Auftrag").Range("C2").ClearContents
' welches ist das aktive Blatt?
Range("G2").ClearContents
Range("K2").ClearContents
Range("M2").ClearContents
Sheets("Vorlage Lieferschein").Delete
Sheets("Eingabe Daten Prod. Auftrag").Range("V2:Y2").ClearContents
Sheets("Eingabe Daten Prod. Auftrag").Unprotect Password:="shsq"
Sheets("Eingabe Daten Prod. Auftrag").EnableAutoFilter = True
Sheets("Eingabe Daten Prod. Auftrag").Protect UserInterfaceOnly:=True, _
Password:="shsq"
End Sub
Vielen Lieben Dank

Anzeige
AW: hier (m)eine VBA-Variante ohne Wochenende
20.08.2015 13:46:02
Shawn
Hallo Matthias
Werner hatt genau das was ich brauchte verstehn tu ich es aber nicht so ganz
Formellösung?
=WENN(ODER(WOCHENTAG(AG1+1)={1;2;3;7});AG1+3;AG1+1)
Werner

AW: Datum
20.08.2015 13:38:40
Werner
Hallo,
Formellösung?
=WENN(ODER(WOCHENTAG(AG1+1)={1;2;3;7});AG1+3;AG1+1)
Werner

AW: Datum
20.08.2015 13:44:20
Shawn
Hallo Werner genau das wars
vielen vielen Dank
War schon fast am verzweifeln
versteh ich das richtig dass {1;2;3;7} der Wochenrytmus ist
MFG

AW: Danke für die Rückmeldung
20.08.2015 14:16:26
Werner
Hallo,
das sind die Wochentage SA=7, So=1, Mo=2 ......
Werner

Anzeige
AW: Danke für die Rückmeldung
20.08.2015 15:40:03
Shawn
Und ich dachte schon ich hätte es geschafft :-(
Also habe ne beispieldatei wie es am schluss ausschaut
https://www.herber.de/bbs/user/99721.xlsx
die letzten 2 zeilen bucht er fäschlicherweise auf den 01.09.2015 statt auf den 03.09.2015
Das Makro "Schaltfläche 98_klicken()" kopiert eine zeile von A2 bis AF2 in Zeile A5 bis AF5
Hier das Automatisch Einbuchmakro "die daten nimmt er von einem Lieferschein"
Sub Lieferschein_DECO()
Dim ZeileNr As Long
Dim i As Long
ZeileNr = 19
i = 0
ActiveSheet.Unprotect "shsq"
While Sheets("Vorlage Lieferschein").Range("E" & ZeileNr).Value  ""
Sheets("Eingabe Daten Prod. Auftrag").Range("G2").Value = _
Sheets("Vorlage Lieferschein").Range("E" & ZeileNr).Value
Sheets("Eingabe Daten Prod. Auftrag").Range("M2").Value = _
Sheets("Vorlage Lieferschein").Range("C" & ZeileNr).Value
Sheets("Eingabe Daten Prod. Auftrag").Range("K2").Value = _
Sheets("Vorlage Lieferschein").Range("H" & ZeileNr).Value
Sheets("Eingabe Daten Prod. Auftrag").Range("C2").Value = _
Sheets("Vorlage Lieferschein").Range("B" & ZeileNr).Value
Call Schaltfläche98_Klicken
i = i + 1
If i = 8 Then
i = 0
Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").Value = _
Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").Value + 1
End If
ZeileNr = ZeileNr + 1
Wend
Sheets("Eingabe Daten Prod. Auftrag").Range("AG1").FormulaLocal = "=HEUTE()"
If ZeileNr > 19 Then
MsgBox "Positionen auf Lieferschein " & ZeileNr - 19
Else
MsgBox "Bestellerfassung nicht Ausgeführt da auf Lieferschein E19 Leer ist !"
End If
Sheets("Eingabe Daten Prod. Auftrag").Range("C2").ClearContents
' welches ist das aktive Blatt?
Range("G2").ClearContents
Range("K2").ClearContents
Range("M2").ClearContents
Sheets("Vorlage Lieferschein").Delete
Sheets("Eingabe Daten Prod. Auftrag").Range("V2:Y2").ClearContents
Sheets("Eingabe Daten Prod. Auftrag").Unprotect Password:="shsq"
Sheets("Eingabe Daten Prod. Auftrag").EnableAutoFilter = True
Sheets("Eingabe Daten Prod. Auftrag").Protect UserInterfaceOnly:=True, _
Password:="shsq"
End Sub

Anzeige
AW: Danke für die Rückmeldung
20.08.2015 16:42:11
Werner
Hallo,
und wo hast du die Formel jetzt eingesetzt?
Die Formel bezieht sich auf dein Datum in Zelle AG1 und prüft, ob beim Aufaddieren von einem Tag dieser Tag ein Samstag, Sonntag .... ist. Wenn ja dann werden auf das geprüfte Datum drei Tage aufaddiert, wenn nein dann wird ein Tag aufaddiert.
So wie ich das sehe addierst du ja mittels Makro bei jedem 8. Durchlauf auf das Datum in AG1 einen Tag auf, der auf SA, So .... geprüft werden soll. Die Formel addiert jetzt aber nochmal einen Tag auf und prüft dann dieses Ergebnis, was dann ja nicht funktionieren kann.
Versuch die Formel mal so:
=WENN(ODER(WOCHENTAG(AG1)={1;2;3;7});AG1+2;AG1)
Es könnte aber auch sein, dass ich nicht verstanden habe was du eigentlich willst.
Werner

Anzeige
AW: Danke für die Rückmeldung
20.08.2015 17:12:40
Shawn
Hallo Werner habe meine erklärung und wünsche nochmals in die Datei geschrieben
bekomms auch mit der 2 Formel nicht gebacken
https://www.herber.de/bbs/user/99728.xlsx

AW: Danke für die Rückmeldung
20.08.2015 20:53:58
Werner
Hallo,
ich kann es leider immer noch nicht nachvollziehen. Du schreibst, dass in B5 und B6 das Datum falsch berechnet wird. Es ist aber nicht ersichtlich was da wie berechnet wird. In den Zellen stehen nur feste Werte.
Frage: Wo kommt z.B. das Datum her und was soll da warum berechnet werden.
Werner

AW: Danke für die Rückmeldung
20.08.2015 21:36:48
Shawn
Hallo hab nochmals neu angefangen ist glaub jetzt verständlicher
https://www.herber.de/bbs/user/99741.xlsx
mfg

Anzeige
AW: Danke für die Rückmeldung
21.08.2015 08:27:45
Shawn
Hab es geschafft mir fehlte noch die Formel =Arbeitstag(G22;2)
Vielen Dank für dein Bemühen :-)
MFG

AW: freut mich
21.08.2015 10:16:00
Werner
Hallo,
freut mich dass ich helfen konnte.
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige