Datum

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Datum
von: Shawn
Geschrieben am: 20.08.2015 09:58:33

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

Bild

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

Bild

Betrifft: AW: Nachfrage..
von: Shawn
Geschrieben am: 20.08.2015 10:45:35
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


Bild

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

Bild

Betrifft: da gibts einen Widerspruch Deiners Wunsches
von: Matthias L
Geschrieben am: 20.08.2015 10:25:24
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

Bild

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

Bild

Betrifft: hier (m)eine VBA-Variante ohne Wochenende
von: Matthias L
Geschrieben am: 20.08.2015 12:11:16
Hallo
Hier ein kurzes Beispiel
https://www.herber.de/bbs/user/99703.xlsm
Gruß Matthias

Bild

Betrifft: AW: hier (m)eine VBA-Variante ohne Wochenende
von: Shawn
Geschrieben am: 20.08.2015 13:24:08
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

Bild

Betrifft: AW: hier (m)eine VBA-Variante ohne Wochenende
von: Shawn
Geschrieben am: 20.08.2015 13:46:02
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

Bild

Betrifft: AW: Datum
von: Werner
Geschrieben am: 20.08.2015 13:38:40
Hallo,
Formellösung??

=WENN(ODER(WOCHENTAG(AG1+1)={1;2;3;7});AG1+3;AG1+1)
Werner

Bild

Betrifft: AW: Datum
von: Shawn
Geschrieben am: 20.08.2015 13:44:20
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

Bild

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

Bild

Betrifft: AW: Danke für die Rückmeldung
von: Shawn
Geschrieben am: 20.08.2015 15:40:03
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


Bild

Betrifft: AW: Danke für die Rückmeldung
von: Werner
Geschrieben am: 20.08.2015 16:42:11
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

Bild

Betrifft: AW: Danke für die Rückmeldung
von: Shawn
Geschrieben am: 20.08.2015 17:12:40
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

Bild

Betrifft: AW: Danke für die Rückmeldung
von: Werner
Geschrieben am: 20.08.2015 20:53:58
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

Bild

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

Bild

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

Bild

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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeilen aus Liste unter Bedingung Ausschneiden"