also den Umsatz können wir auf jeden Fall weglassen, der wird teilweise erst Tage später eingegeben.
Bezüglich Fehlermeldung: Wenn ich Daten in den Dispoplan eintrage werden diese zwar in das Archiv übernommen aber nur angezeigt wenn der entsprechende Tag als 1.Tag ausgewählt ist. Also z.B. 01.03.2017 und 02.03.2017 werden im Dispoplan angezeigt. Daten für 02.03.2017 sind zwar im Archiv aber werden nicht angezeigt, da es der 2.Tag ist. Sobald ich den 02.03.2017 als 1. Tag auswähle werden die Daten angezeigt.
Desweiteren ist mir aufgefallen dass ich nicht weiter zurück als zum heutigen Tag blättern kann. Es sollte aber keine Begrenzung geben, da ich ja auch auf ältere Daten aus dem Archiv zugreifen will.
Eine Fehlermeldung im Code erscheint nicht, d.h. Debuggen kann ich so nichts. Die Fehlermeldung aus meinem Text bezog sich nur auf den Hinweis das kein Umsatz eingetragen wurde.
vorab habe ich eine Lösung für das Datum gefıunden. Damit kannst du ab 1.1.2017 Scrollen. Das Scrollen kannst du auch manuell beschleunigen, indem du in die Zelle A17 den ungefaehren Zahlenwert des gewünschten Tages eingibst. Die Datumformel in Zelle G1+Zelle K1 müssen geaendert werden: =DATUIM(JAHR(A4);1;1)+A17 Zelle K1 zu: =G1+I1+1 In Zelle I1 lade ich zum umschalten von Samstag auf Montag den Wert 2.
Im Makro für SpinButton muss eine neue Zeile rein, hier das geanderte Makro. Dieser Teil muss auch ins Makro für SpinUp kopiert werden: If Weekday([g1], 2) = 5 Then [I1] = 2 Else [I1] = 0
Die andere Sache habe gesehen was du menst, muss ich noch aendern.
mfg Gast 123
Code:
Private Sub SpinButton1_SpinDown() Range("D35") = SpinButton1.Value Datum = CDate(Range("G1")) 'Umschaltung Montag -> Freitag If Weekday(Datum, 2) = 7 And [a17] > 2 Then [a17] = [a17] - 2 If Weekday(Datum, 2) = 6 And [a17] > 1 Then [a17] = [a17] - 1 If Weekday([g1], 2) = 5 Then [I1] = 2 Else [I1] = 0 Call Dispoplan_ausfüllen_Neu End Sub
ich habe den Fehler gefunden und bitte das untere Makro für den DispoPlan auszutauschen. Damit sollte es alufen.
Würde mich freuen.
mfg Gast 123
Code:
Option Explicit '23.2.2017 Gast 123 Clever Forum 'Fehler korrigiert: 05.3.2017 (Datum2 über Set rFind!) Dim Datum As Date, Datum2 As Date
'Neues Makro zum DispoPlan ausfüllen
Sub Dispoplan_ausfüllen_Neu() Dim LKW As Variant, j As Integer Dim rFind As Object, k As Integer Application.ScreenUpdating = False
With Worksheets("Dispoplan") '1. + 2. Tag Datum laden Datum = CDate(.Range("G1")) Datum2 = CDate(.Range("K1")) 'Status Text löschen Range("A25:A26").Value = Empty '1. + 2. Tag komplett löschen Range("E3:L34").Value = Empty
'1.Tages Datum in Datenbank Spalte N suchen Set rFind = Columns("N").Find(What:=Datum, After:=Range("N2"), _ LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
'Meldung wenn keine Daten vorliegen If rFind Is Nothing Then Range("A25:A26") = "Keine Daten im Archiv": Exit Sub
If Not rFind Is Nothing Then '1. Schleife für 1. Tag ausfüllen For k = 1 To 25: LKW = Empty If rFind.Cells(k, 1) <> Datum Then Exit For 'Schleife für LWW von 1 bis 11 finden For j = 3 To 34 If Cells(j, 4) <> "" Then LKW = Cells(j, 4) 'Aussprung wenn Disp LKW Nr > als Datenbank LKW If LKW > rFind.Cells(k, 2) Then Exit For If LKW = rFind.Cells(k, 2) Then 'Daten in Zeile: Fahrer1 oder Fahrer2 eintragen If Cells(j, 5).Value = "" Then _ Cells(j, 5).Resize(1, 4).Value = rFind.Cells(k, 3).Resize(1, 4).Value Else _ Cells(j + 1, 5).Resize(1, 4).Value = rFind.Cells(k, 3).Resize(1, 4).Value Exit For End If Next j Next k End If
'1.Tages Datum in Datenbank Spalte N suchen Set rFind = Columns("N").Find(What:=Datum2, After:=Range("N2"), _ LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
'Meldung wenn keine Daten vorliegen If rFind Is Nothing Then Range("A26") = "Keine Daten im Archiv": Exit Sub
If Not rFind Is Nothing Then '1. Schleife für 1. Tag ausfüllen For k = 1 To 25: LKW = Empty If rFind.Cells(k, 1) <> Datum2 Then Exit For 'Schleife für LWW von 1 bis 11 finden For j = 3 To 34 If Cells(j, 4) <> "" Then LKW = Cells(j, 4) 'Aussprung wenn Disp LKW Nr > als Datenbank LKW If LKW > rFind.Cells(k, 2) Then Exit For If LKW = rFind.Cells(k, 2) Then 'Daten in Zeile: Fahrer1 oder Fahrer2 eintragen If Cells(j, 9).Value = "" Then _ Cells(j, 9).Resize(1, 4).Value = rFind.Cells(k, 3).Resize(1, 4).Value Else _ Cells(j + 1, 9).Resize(1, 4).Value = rFind.Cells(k, 3).Resize(1, 4).Value Exit For End If Next j Next k End If
End With End Sub
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28 • Thomas78
der erste Testtag verlief bisher ohne Probleme [img] Dateiupload bitte im Forum! So geht es: Klick mich! ] ! Das ist wirklich großes Kino. Vielen Dank!
Ich werde es noch ein paar Tage ausprobieren und mich dann nochmal melden.
herzlichen Dank an euch beide, es freut mich sehr das mir hier eine gute Lösung gelungen ist. Ich sage es mal ganz ohne Überheblichkeit. Anerkennung für gute Arbeit tut einem einfach seelisch sehr gut!! Danke, danke ....
@Ralf ich höre gerade den Gebetsruf vom Minarett (5 mal am Tag)
nach einigen Tests ist mir bisher kein Fehler aufgefallen, es läuft bisher alles einwandfrei !!! :18:
Falls du Zeit und Lust hast könnten wir den Urlaubsplan auch so machen?
Wie man in der angehängten Datei sieht, habe ich im Urlaubsplan einen Monatskalender den ich mit Button hin- und herblättern kann. Meine Wunschvorstellung wäre das ich den Fahrern im Kalenderfeld u=Urlaub, k=Krank, 2=Zweitagestour eingebe und er mir die Daten ins Archiv (rechts daneben) übernimmt. Beim Archiv bin ich mir nicht sicher ob ich die Einträge täglich eintragen muss (also z.B. Urlaub am 01.03., 02.03, 03.03. usw.) oder ob man auch einen Zeitraum angeben kann (also z.B. 01.03. bis 03.03.)? Beim Wechsel des Monats über den Button soll er mir falls vorhanden die Daten aus dem Archiv wieder laden.
Zweiter Punkt wäre, dass ich im Dispoplan unten (E36-E38 und I36-I38) den Urlaub, bzw. (G36-G38 und K36-K38) Krankheit bisher über das Kalenderfeld anzeigen lasse (also Fahrer xxx hat am ausgewählten Tag Urlaub). Dies würde ich ebenfalls gerne über das Archiv lösen. Muss ich dazu nur den Indexbereich vergrößern oder ist hierfür eine größere Änderung nötig?
Wäre super wenn ich dich hierfür nochmal beanspruchen darf, da die Datei dann fertig zur Nutzung wäre... Es eilt aber nicht!!!
ich war privat beschaeftigt, habe jetzt aber Zeit gefunden mir den Urlaub noch einmal anzusehen. Anbei eine neue Beispieldatei.
In der Spalte A gibt es jetzt eine Vorschau für den ganzen Monat, ob Urlaub oder Krank Daten vorliegen Mit einem kleinen Schönheitsfehler, der mir zu aufwendig war das noch in den Griffe zu bekommen. Hat ein Mitarbeiter in einem Monat zwei verschiedene Eintragungen für Urlaub, kann ich die Blöcke nicht sauber trennen. Dann passiert es das Die Vorschau z.B. Urlaub vom 3.3. - 28.3. ausweisst, obweohl es einmal nur ein Einzeltag ist, und ein ganzer Urlaubsblock. Das Problem ist das durch die Unterbrechung von Samstag, Sonntag der Urlaub in Blöcke zerteilt wird. Die kann ich zur Zeit nicht trennen.
Der jeweilige Tages Urlaub oder Krankmeldung wird in Spalte D + E angezeigt. Das sollten stimmige Daten sein. Ich konnte es aber nicht genau prüfen, weil mir in der Urlaubs Datenbank keine neue Daten vorliegen.
Würde mich freuen wenn wir damit den Thread abschliessen können.
mfg gast 123
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28 • Thomas78
ich vergass dir zu sagen, das für den Urlaubsplan zwei neue Module, Modul 3+4 in deine Datei eingefügt werden müssen. Ebenso musst du das existierende Makro in der Tabelle Dispoplan gegen die neue Version tauschen. Dann sollte es klappen.
Die Urlaubs Vorschau erfolgt über die Aktion Sheet.Activate, d.h., wenn du den Dispoplan verlaesst um z.B. neuen Daten für Krank oder Urlaub einzugeben werden nach der Rückkehr in die Tabelle Dispoplan die Daten aktualisiert. Ohne Button! Der Tages Urlaub wird über die SpinButton immer mit aktualisisert. Alles automatisch, ohne Button.
Bis auf den kleinen Schönheitsfehler das ich mehrfache Urlaubstage nicht einzeln erfassen kann sollte es klappen. Angezeigt werden in der Vorschau auch nur die Daten ab dem aktuellen Tag bis Monats Ende. Für die aktuellen Daten im Urlaubsplan musst du bitte sorgen. Viel Glück und toi, toi, toi .....
mfg Gast 123
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28 • Thomas78