Milchdispo, Viele Fragen

Hallo Sascha,

ich hab die Controls per Vba dezimieren können, schau halt ob
ich zuviel entfernt habe oder ob noch welche weg müssen, mach
das dann manuell. Sind jetzt 112 Controls auf Datenmaske.

Oh super… muss ja wahnsinnig umständlich gewesen sein!

geht so, gibt ja Vba das hilt gelegentlich :smile:

Damit hast Du praktisch alles drausse was unnütze ist…
Ich schau mal ob ich noch was finde…

Nachstehende Codes sind hilfreich dabei.
ControlsLoeschen listet auf einem neuen Blatt (kannste später löschen) alle Controls und ihre Positionen in der UF auf.
Koordinatensystem kennst du mit x,y *annehm*

Bei UFs ist 0,0 links oben in der Ecke.
Die Liste ist nach den Positionen sortiert, du seiehst ja ob noch welche übereinanderliegen, da kann wohl alles bis auf eine weg.

Wenn die Liste erstellt ist, dann mache ein x in F bei allen Objekten die weg müssen.
Dann sortiere die Spalten nach F, dann haste alle x-er als Block. Alles bis auf diesen Block löschst du.
Dann starte ControlsLoeschen

Das ist aber nur Fehlerkorrektur. Ursachenkorrektur mußte an dir vornehmen *lächel*
Löschen muß löschen sein, k.A. was du da gemacht hast.

Die UF Auswahl habe ich umgestellt.

Ja, das ist super. Vielen Dank

Du und der andere ihr müßt Shift drücken dann mit der linken
maus irgendwo auf die UF klicken (Da wo nix ist), dann kommt
die Passwortabfrage usw.
Das „X“ und „Konfiguration“ sind funktionslos.

Tiptop. Gefällt mir sehr gut!!

Danke. Ich dacht mir das so, wenn da was ist zum Klicken werden auch leute draufklicken. So sehen sie nix zum Draufklicken und probieren’s erst gar nicht.

Da man aber grundsätzlich Usern alles zutrauen muß könnte man das noch verfeinern indem man auf die gleiche Weise mit Shift und linker maus auf das Feld in der UF klicken muß wo früher dein X ist.
Da ist dann ein Label oder irgendwas, der zwar visible an sich ist aber man sieht ihn nicht :smile:
Und wenn man da noch Shift zusammen mit RECHTER maustaste braucht zum Draufklicken wird es dann doch sehr unwahrscheinlich daß da einer per Zufall dies tut, abgesehen davon kommt danach ja noch die PW Abfrage.

Frage zu dem Mitternächtlichen Makro. Das habe ich soweit daß es funktioniert und jeden Morgen um 1 Sek nach Mitternacht losläuft.
Naja, theoretisch. Getestet habe ich das nicht.
Aber ich bin sehr sicher daß es funktionieren wird, habe es begutachten lassen *gg*

Kann es vorkommen daß zu dieser Zeit, also so der Bereich 1-2 Mintuen nach Mitternacht, jmd am PC sitzt der grad was eingibt oder ein anderes makro am laufen hat?

das ganze funktoioniert mit Application.OnTime. Kannst ja schonmal in F1 schauen was das ist.
Ggfs. muß ich da noch LatestTime oder wied as heißt als Parameter angeben.

Gruß
Reinhard

Option Explicit

Sub ControlsLoeschen()
Dim i As Integer
Dim oDic As Object
Set oDic = CreateObject("Scripting.Dictionary")
Dim strCode$
With ThisWorkbook.VBProject.VBComponents("Datenmaske")
 strCode = .CodeModule.Lines(1, .CodeModule.CountOfLines)
 With .designer.Controls
 For i = .Count - 1 To 0 Step -1
 If Application.CountIf(Columns(1), .Item(i).Name) \> 0 Then
 .Remove .Item(i).Name
 End If
 Next i
 End With
End With
End Sub

Sub ControlsKontrolle()
Dim i As Integer
Worksheets.Add after:=Worksheets(Worksheets.Count)
With ThisWorkbook.VBProject.VBComponents("Datenmaske")
 With .designer.Controls
 Range("A1:E1") = Split("Name left top width height")
 For i = 0 To .Count - 1
 Cells(i + 2, 1).Value = .Item(i).Name
 Cells(i + 2, 2).Value = .Item(i).Left
 Cells(i + 2, 3).Value = .Item(i).Top
 Cells(i + 2, 4).Value = .Item(i).Width
 Cells(i + 2, 5).Value = .Item(i).Height
 Next i
 End With
End With
Columns("A:E").Sort Key1:=Range("E2"), Order1:=xlAscending, Key2:=Range("D2") \_
 , Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:= \_
 xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("A:E").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, \_
 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("A:E").Columns.AutoFit
End Sub

Hallo Reinhard,

Das ist aber nur Fehlerkorrektur. Ursachenkorrektur mußte an
dir vornehmen *lächel*

Ja klar, obwohl ich noch immer nicht weiss was ich falsch gemacht haben soll. Zweifle langsam am XL2003… Naja, vielleicht komme ichirgendwann dahinter was falsch lief…

Danke. Ich dacht mir das so, wenn da was ist zum Klicken
werden auch leute draufklicken. So sehen sie nix zum
Draufklicken und probieren’s erst gar nicht.

Da man aber grundsätzlich Usern alles zutrauen muß könnte man
das noch verfeinern indem man auf die gleiche Weise mit Shift
und linker maus auf das Feld in der UF klicken muß wo früher
dein X ist.
Da ist dann ein Label oder irgendwas, der zwar visible an sich
ist aber man sieht ihn nicht :smile:
Und wenn man da noch Shift zusammen mit RECHTER maustaste
braucht zum Draufklicken wird es dann doch sehr
unwahrscheinlich daß da einer per Zufall dies tut, abgesehen
davon kommt danach ja noch die PW Abfrage.

Genau. das ist super so…

Frage zu dem Miternächtlichen Makro. Das habe ich soweit daß
es funktioniert und jeden Morgen um 1 Sek nach Mitternacht
losläuft.
Naja, theoretisch. Getestet habe ich das nicht.
Aber ich bin sehr sicher daß es funktionieren wird, habe es
begutachten lassen *gg*

Kann es vorkommen daß zu dieser Zeit, also so der Bereich 1-2
Mintuen nach Mitternacht, jmd am PC sitzt der grad was eingibt
oder ein anderes makro am laufen hat?

Nei das ist nicht Möglich. Das späteste was in den letzten 14 Jahren vorgekommen ist, war dass der letzte Fahrer um 22 Uhr nach Hause gekommen war. Später gibts nicht…
UNd falls es doch einmal sein sollte, spielt es auch keine Rolle, da ich, mit dem Passwort, ja auch den noch fehlenden Tag editieren kann.

In sofern ist das mit Mitternacht prima…

Hast Du schon eine Lösung gefunden von wegen heutiger Tag nur Daten von heute eingeben?

In meiner Mapper hat ja im September alles schön funktioniert. Aber beim Monatswechsel nicht mehr…

Ich wollte heute einen Testeintrag machen, dieser wurde aber an die noch freie letzte Position der Mappe gesetzt.

Aber ich denke das löst sich mit Deiner neusten Version, wenn die Datumsüberprüfung mit dabei ist…?..

Grüsse
Sascha

Hallo Sascha,

Das ist aber nur Fehlerkorrektur. Ursachenkorrektur mußte an
dir vornehmen *lächel*

Ja klar, obwohl ich noch immer nicht weiss was ich falsch
gemacht haben soll.

Erstmal für dieses Projekt egal, setz es auf die „Spätermalprüfen Liste“.
Wichtig ist jetzt nur daß du das kurz übst mit paar Elementen, also Einfügen/löschen.
Mit dem einen Code den ich dir grad gab siehste ja dann auf dem Blatt welche Elemente auf der UF sind.

Zweifle langsam am XL2003…

Daran liegt das garantiert nicht.

Naja, vielleicht komme ichirgendwann dahinter was falsch lief…

Ich kann zur Laufzeit die quasi schon beginnt wenn Userform_Initialize durchlaufen wird Elemente dazufügen, lösche, verschieben, in der Größe ändern, also alles mit den Elementen tun wie färben usw.

Daß man dies auch machen kann wenn man im Editor ist wußte ich nicht deshalb habe ich andernorts nachgefragt.
Und da kam ein Hinweis von Luc wodran es evtl. liegen könnte.

„…besonders hartnäckig sind dabei in Frames „verloren” gegangene
(verrutschte) Controls. Allerdings wdn doch alle im VBE als
potenzielle Code-Container angezeigt. Das hätte dem Autor eigentl
auffallen müssen!“

Du siehst ja, wenn da eine TextBox in einem Frame ist muß man sie zweimal anklicken wenn man da z.B. mit F4 das Eigenschaftsfenster offen hat, eine TextBox die frei ohne Frame in der UF steht nur einmal.
Aber auch das was für die „Spätermalprüfen Liste“.

Und wenn man da noch Shift zusammen mit RECHTER maustaste
braucht zum Draufklicken wird es dann doch sehr
unwahrscheinlich daß da einer per Zufall dies tut, abgesehen
davon kommt danach ja noch die PW Abfrage.

Genau. das ist super so…

Okay, du kannst ja im Code leicht erkennen wie du das von linker auf rechte Maustaste umstellen könntest.

In sofern ist das mit Mitternacht prima…

Okay. Dann bleibt das so. Jetzt fehlt da in dem Makro nur noch der Code der dann, wenn um Mitternacht festgestellt wird daß ein neuer monat vorliegt dessen mappe auch anlegt und öffnet.

Hast Du schon eine Lösung gefunden von wegen heutiger Tag nur
Daten von heute eingeben?

*Hüstel*, jain, ich hab gar nicht nach einer Lösung gesucht.

Ich wollte heute einen Testeintrag machen, dieser wurde aber
an die noch freie letzte Position der Mappe gesetzt.

Ich schaue was ich da heute verbessern kann, auch bei den obigen und sonstigen Punkten.

Eine andere Frage. Die abgespeicherten mappen, brauchen die eigentlich noch Makros in sich?

Die stören doch eher *find*. Die dienen doch wohl nur noch der Nachvollziehbarkeit von Monatsabläufen.
Wenn du darin was ändern willst dann ändere es halt.
Brauchst du dazu die Userforms/Makros?
Die makros brauchst du doch nur in der grad aktuellen mappe.

Was mir grad einfällt, eine Kleinigkeit, fixiere doch mal in den Blättern die obersten Zeilen. Hilfreich beim Scrollen nach unten.
Und „unten“, da die zeilen 34:35 würde ich in Zeile 3:4 legen, dann muß man nicht scrollen um den Monatzumsatz zu sehen.

Gruß
Reinhard

Hallo Reinhard,

Das ist aber nur Fehlerkorrektur. Ursachenkorrektur mußte an
dir vornehmen *lächel*

Ja klar, obwohl ich noch immer nicht weiss was ich falsch
gemacht haben soll.

Erstmal für dieses Projekt egal, setz es auf die
„Spätermalprüfen Liste“.
Wichtig ist jetzt nur daß du das kurz übst mit paar Elementen,
also Einfügen/löschen.
Mit dem einen Code den ich dir grad gab siehste ja dann auf
dem Blatt welche Elemente auf der UF sind.

Zweifle langsam am XL2003…

Daran liegt das garantiert nicht.

Naja, vielleicht komme ichirgendwann dahinter was falsch lief…

Ich kann zur Laufzeit die quasi schon beginnt wenn
Userform_Initialize durchlaufen wird Elemente dazufügen,
lösche, verschieben, in der Größe ändern, also alles mit den
Elementen tun wie färben usw.

Daß man dies auch machen kann wenn man im Editor ist wußte ich
nicht deshalb habe ich andernorts nachgefragt.
Und da kam ein Hinweis von Luc wodran es evtl. liegen könnte.

„…besonders hartnäckig sind dabei in Frames „verloren”
gegangene
(verrutschte) Controls. Allerdings wdn doch alle im VBE als
potenzielle Code-Container angezeigt. Das hätte dem Autor
eigentl
auffallen müssen!“

Du siehst ja, wenn da eine TextBox in einem Frame ist muß man
sie zweimal anklicken wenn man da z.B. mit F4 das
Eigenschaftsfenster offen hat, eine TextBox die frei ohne
Frame in der UF steht nur einmal.
Aber auch das was für die „Spätermalprüfen Liste“.

Ja genau. werde ich sicher später noch prüfen… Glaube auch es kann durchaus sein dass es mit dem Frames zusammenhängt. öffne ich eine neue Mappe und mache eine neue UF mit Controls, bearbeite diese und lösche diese, dann werden die Controls auch gelöscht.

Ich weiss noch wie ich Mühe hatte mit den Frames, vorallem mit „In den Vorder resp hintegrund stellen“. Von daher, kann ich meine Datenmaske noch einmal zeichnenmit dem Wissen dass ich heute habe und dann nochmals kontrollieren ob es klappt…

Und wenn man da noch Shift zusammen mit RECHTER maustaste
braucht zum Draufklicken wird es dann doch sehr
unwahrscheinlich daß da einer per Zufall dies tut, abgesehen
davon kommt danach ja noch die PW Abfrage.

Genau. das ist super so…

Okay, du kannst ja im Code leicht erkennen wie du das von
linker auf rechte Maustaste umstellen könntest.

Genau, hab ich schon gemacht. Super Code, nochmals danke…

In sofern ist das mit Mitternacht prima…

Okay. Dann bleibt das so. Jetzt fehlt da in dem Makro nur noch
der Code der dann, wenn um Mitternacht festgestellt wird daß
ein neuer monat vorliegt dessen mappe auch anlegt und öffnet.

Hast Du schon eine Lösung gefunden von wegen heutiger Tag nur
Daten von heute eingeben?

*Hüstel*, jain, ich hab gar nicht nach einer Lösung gesucht.

Ich wollte heute einen Testeintrag machen, dieser wurde aber
an die noch freie letzte Position der Mappe gesetzt.

Ich schaue was ich da heute verbessern kann, auch bei den
obigen und sonstigen Punkten.

Das wäre extrem nett von Dir. Morgen bin ich wieder am arbeiten und könnte dann wiederum alles mit reellen Einträgen testen

Eine andere Frage. Die abgespeicherten mappen, brauchen die
eigentlich noch Makros in sich?

Nein, an sich nicht. Wenn Du diese auch automatisch ohne alles VBA abspeichern kannst, ist das sehr gut. Dann sind die Mappen auch nicht mehr allzugross. Und wir können dann fehlende oder falsche Eingaben in der Tabelle selber berichtigen.

Die stören doch eher *find*. Die dienen doch wohl nur noch der
Nachvollziehbarkeit von Monatsabläufen.
Wenn du darin was ändern willst dann ändere es halt.
Brauchst du dazu die Userforms/Makros?
Die makros brauchst du doch nur in der grad aktuellen mappe.

Ja genau. wie oben erläutert

Was mir grad einfällt, eine Kleinigkeit, fixiere doch mal in
den Blättern die obersten Zeilen. Hilfreich beim Scrollen nach
unten.

Habe ich gemacht. gute Sache.

Und „unten“, da die zeilen 34:35 würde ich in Zeile 3:4 legen,
dann muß man nicht scrollen um den Monatzumsatz zu sehen.

Das ist schon in Ordnung unten.

  1. sind wir es schon gewohnt so, und 2. Können wir ganz unten an der Tabelle mit diesen Daten noch direkt darunter weiter Formeln zum vergleich einfügen…
    Dass möchte ich gerne so belassen…
    Was mir noch wichtig ist, dass die Mappe schon mal die Features hat: Neuer Monat automatisch, und dass dies mit den Einträgen (prüfen welcher Tag und in die richtige Zeile einschreiben) funktioniert.

Meine nächsten Fragen kommen dann wenn dies funktioniert :smile:

Gruss Sascha

Hallo Reinhard,

Habe noch 2 Fragen:

In sofern ist das mit Mitternacht prima…

Okay. Dann bleibt das so. Jetzt fehlt da in dem Makro nur noch
der Code der dann, wenn um Mitternacht festgestellt wird daß
ein neuer monat vorliegt dessen mappe auch anlegt und öffnet.

Hast Du diesen Code bereit für mich zum testen?
Bin sehr gespannt darauf… :smile: Will Dich aber nicht „stressen“ *g*

Hast Du schon eine Lösung gefunden von wegen heutiger Tag nur
Daten von heute eingeben?

Das funktioniert ja eigentlich schon, Aber kann man das auch ohne Sheet „Hilf“ lösen?
Ich hab ja da lediglich gemacht dass es immer den aktuellen Monat mit den Tagen auflistet. Aber wenn die Mappe nie geschlossen wird, dann aktualisiert sich die Formel ja nicht…

Gruss Sascha

Hallo Sascha,

Hast Du diesen Code bereit für mich zum testen?
Bin sehr gespannt darauf… :smile: Will Dich aber nicht
„stressen“ *g*

Ja, ich hab da was, aber ist noch Baustelle :frowning:
http://www.uploadagent.de/show-178396-1317654136.html
Aber ich bitte dich die mal über nacht laufen zu lassen.
Im Blatt Hilf in D müßtest du dann am nächsten sehen ob das makro auch nach Mitternacht losgelaufen ist.

Ansonsten dreh ich mich grad im Kreis weil ich so vieles nicht weiß.
Nicht genau genug weiß.

Braucht man eigentlich die UF MSW_Auswahl?
Langt es nicht wenn nur permanent die datenmaske angezeigt wird?
In der man da die Blätter auswählen kann.

Und zur Datenmaske. Die Fahrer dürfen nur für den aktuellen Tag etwas eintragen.
Erlaubt soll sein daß sie ältere Einträge/Datenzeilen durchblättern aber nix ändern dürfen.
Richtig so?

Äh, das mit Klassenmodul und Überprüfung bei TB Eingaben auf Zahl und Dezimaltrenner habe ich eingebaut, müßte in D und CH so laufen.
Auch mit XL 2000.

Spielen wir mal durch, so ein Fahrer kommt. Hat die Datenmaske vor sich. Welche Buttons sollen sichtbar sein?

Jetzt gibt er Daten ein. Wie soll Vba darauf reagieren?
Alle Eingaben werden direkt in das Blatt synchron übertragen?
Man könnte dazu dem Fahrer noch einen Button Eingaben löschen anbieten wenn er z.B. merkt daß er das grad im falschen Blatt eingegebn hat.

Oder aber, er kann da eingeben , wenn er fertig ist muß er den Button Speichern betätigen, erst dann wird das übernommen.

Das funktioniert ja eigentlich schon, Aber kann man das auch
ohne Sheet „Hilf“ lösen?

Lass ma das Blatt Hilf in Ruhe. Das kann wichtig sein.
Es stört auch nicht im Geringsten.
Schreib einmalig in einer Prozedur
Worksheets(„Hilf“).visible=xlVeryHidden
und in Excel siehst keiner mehr.

Gruß
Reinhard

Hallo Reinhard,

Entschuldige dass ich mich erst jetzt melde, bin aber erst von der Arbeit nach Hause gekommen…

Ja, ich hab da was, aber ist noch Baustelle :frowning:
http://www.uploadagent.de/show-178396-1317654136.html
Aber ich bitte dich die mal über nacht laufen zu lassen.
Im Blatt Hilf in D müßtest du dann am nächsten sehen ob das
makro auch nach Mitternacht losgelaufen ist.

Mache ich :smile:

Ansonsten dreh ich mich grad im Kreis weil ich so vieles nicht
weiß.
Nicht genau genug weiß.

Braucht man eigentlich die UF MSW_Auswahl?
Langt es nicht wenn nur permanent die datenmaske angezeigt
wird?
In der man da die Blätter auswählen kann.

Eigentlich genügt das schon. Aber wird dann sicher JEDER Fahrer seinen MSW auswählen? Mit der Auswahl_UF kann ich sicherstellen dass jeder Fahrer seinen MSW auswählen muss…
Wenn dies in der Datenmaske geschieht, kann ich nicht sicher gehen dass ein Fahrer einen Tag des anderen überschreibt…

Und zur Datenmaske. Die Fahrer dürfen nur für den aktuellen
Tag etwas eintragen.
Erlaubt soll sein daß sie ältere Einträge/Datenzeilen
durchblättern aber nix ändern dürfen.
Richtig so?

Genau richtig. Das ändern älterer Datensätze darf nur mit Passwort geschehen.

Äh, das mit Klassenmodul und Überprüfung bei TB Eingaben auf
Zahl und Dezimaltrenner habe ich eingebaut, müßte in D und CH
so laufen.
Auch mit XL 2000.

Super… Danke :smile: Konnte es nicht testen, da verschiedene Fehler kommen…

Spielen wir mal durch, so ein Fahrer kommt. Hat die Datenmaske
vor sich. Welche Buttons sollen sichtbar sein?

Orange: Schliessen und Speichern.
Grau: Datensatz ändern.
Sobald sich die Datenmaske öffnet sollte er im editiermodus sein.
Er soll nicht zuerst auf „Eingabe“ drücken müssen…

Jetzt gibt er Daten ein. Wie soll Vba darauf reagieren?
Alle Eingaben werden direkt in das Blatt synchron übertragen?
Man könnte dazu dem Fahrer noch einen Button Eingaben löschen
anbieten wenn er z.B. merkt daß er das grad im falschen Blatt
eingegebn hat.

Oder aber, er kann da eingeben , wenn er fertig ist muß er den
Button Speichern betätigen, erst dann wird das übernommen.

Am liebsten die 2. Variante. Er gibt die Daten ein, dann drückt er auf Speichern, dann wird die Mappe mit Thisworkbook.save gespeichert und die Datenmaske soll sich dann in den Anschauungsmodus versetzen…
d.h. es zeigt ihm die Maske an, Daten grau hinterlegt damit er durchblättern kann. Gleichzeitig der Button Eingabe = Visible. Falls er eine Falscheingabe gemacht hat, kann er „Eingabe“ drücken und dann NUR wiederum den „heutigen“ Tag editieren.

Das funktioniert ja eigentlich schon, Aber kann man das auch
ohne Sheet „Hilf“ lösen?

Lass ma das Blatt Hilf in Ruhe. Das kann wichtig sein.
Es stört auch nicht im Geringsten.
Schreib einmalig in einer Prozedur
Worksheets(„Hilf“).visible=xlVeryHidden
und in Excel siehst keiner mehr.

Ja schon klar. Möchte eigentlich wissen ob meine Formel, die den laufenden Monat auflistet so gebraucht werden kann, da ich der Meinung bin, dass diese Spalte nicht ohne die Mappe zu schliessen und erneut zu öffnen beim Monatswechsel nicht aktualisiert wird…

In dieser Mappe:
http://www.uploadagent.de/show-178424-1317671317.html

ist eigentlich genau die Prozedur schon richtig… Also in der Datenmaske dierekt editieren und speichern, danach blättern…
so wollte ichs ungefähr haben.
Aber da fehlt das Klassenmodul, nur Dezimalzahlen eingeben, automatisch neuer monat erstellen, nur so viele datensätze wie der monat tage hat, sowie dein cooler code mit shift-taste und linker maustaste…vorerst :smile:

schau es Dir mal an… bin schon recht weit gekoomen hatte ich das gefühl…

Liebe Grüsse
Sascha

Guten morgen Reinhard,

Ja, ich hab da was, aber ist noch Baustelle :frowning:
http://www.uploadagent.de/show-178396-1317654136.html
Aber ich bitte dich die mal über nacht laufen zu lassen.
Im Blatt Hilf in D müßtest du dann am nächsten sehen ob das
makro auch nach Mitternacht losgelaufen ist.

Hatte heute Morgen einen Fehler: Laufzeitfehler 1004 - Anwendungs - oder Objektdefinierter Fehler im Modul 5 (neuer Monat)
Worksheets(„Hilf“).Cells(Zei, 4).Value = Now
leuchtet gelb auf

Gruss Sascha

Ja, ich hab da was, aber ist noch Baustelle :frowning:
http://www.uploadagent.de/show-178396-1317654136.html
Aber ich bitte dich die mal über nacht laufen zu lassen.
Im Blatt Hilf in D müßtest du dann am nächsten sehen ob das
makro auch nach Mitternacht losgelaufen ist.

Hatte heute Morgen einen Fehler: Laufzeitfehler 1004 -
Anwendungs - oder Objektdefinierter Fehler im Modul 5 (neuer
Monat)
Worksheets(„Hilf“).Cells(Zei, 4).Value = Now
leuchtet gelb auf

Hallo Sascha,

okay, d.h. die Timerfunktion an sich hat funktioniert.
Korrigiere den Code, das Fettgedruckte fehlte bzw. war falsch:

Sub NeuerMonat()
'Dim UF As UserForm
'For Each UF In UserForms
' Unload UF
'Next
Dim Zei As Long
Zei = Worksheets("Hilf").Cells(Rows.Count, **4).End(xlUp)**.Row + 1
Worksheets("Hilf").Cells(Zei, 4).Value = Now
Call OnTimeStarten
End Sub

Gruß
Reionhard

http://www.uploadagent.de/show-178424-1317671317.html

ist eigentlich genau die Prozedur schon richtig… Also in der
Datenmaske dierekt editieren und speichern, danach blättern…
so wollte ichs ungefähr haben.
Aber da fehlt das Klassenmodul, nur Dezimalzahlen eingeben,
automatisch neuer monat erstellen, nur so viele datensätze wie
der monat tage hat, sowie dein cooler code mit shift-taste und
linker maustaste…vorerst :smile:

Hallo Sascha,

ich habe jetzt einiges ergänzt was da fehlte.
Aus der UF MSW_Auswahl kommst du mit Shift und Linklsklick in die Konfiguration.
Mit Shift und Rechtsklick verschwindet die UF ohne Passwortabfrage.
Zum Testen ist das sehr viel besser :smile:

Die Datenmaske ist für meinen Bildschirm und meine Bildschirmeinstellungen zu groß.
Wenn ich das in den Initialize-Code der Datenmaske schreibe:
MsgBox Application.Height
wird wird 559,5 angezeigt.
Aber mich stört das nicht, bei dir muß es ja funktionieren, ich mach mir die UF schon kleiner *gg*

Es gibt in Modul7 Code: BlaetterFormatieren
Benutze bitte diesen Code wenn du etwas an allen Blättern abändern willst.
http://www.uploadagent.de/show-178433-1317716154.html

Ich will jetzt zeitnah die Datenmaske für die Fahrer optimieren, das mit Konfiguration und so kommt später.
Derzeit können sie durch alle Tage eines Monats blättern wenn es ihnen Spass macht :smile:, aber ändern dürfen sie nur am jeweils aktuellen Tag. (Das fehlt noch, geht aber schnell das einzubauen, geht ja nur um Enabled True/fals)

Eingaben/Änderungen am aktuellen Tag werden erst durch Klick auf einen Button übernommen (fehlt noch)
Ich habe das schon gemacht mit TBBlatt. Das ist jetzt ein Label lblBlatt. Genauso mit TBDatum —>lblDatum.
Denn dadrin haben sie nix zu ändern.
LblDatum können sie mit dem SpinButton SpinDatum durchblättern.

Nimm bitte auch anstatt TextBoxen Label für Abladestellen, Bio usw.

Gruß
Reinhard

Hallo Reinhard,

ich habe jetzt einiges ergänzt was da fehlte.
Aus der UF MSW_Auswahl kommst du mit Shift und Linklsklick in
die Konfiguration.
Mit Shift und Rechtsklick verschwindet die UF ohne
Passwortabfrage.
Zum Testen ist das sehr viel besser :smile:

Cool :smile:

Es gibt in Modul7 Code: BlaetterFormatieren
Benutze bitte diesen Code wenn du etwas an allen Blättern
abändern willst.

OK…

Ich will jetzt zeitnah die Datenmaske für die Fahrer

optimieren, das mit Konfiguration und so kommt später.
Derzeit können sie durch alle Tage eines Monats blättern wenn
es ihnen Spass macht :smile:, aber ändern dürfen sie nur am
jeweils aktuellen Tag. (Das fehlt noch, geht aber schnell das
einzubauen, geht ja nur um Enabled True/fals)

Ja genau. so sollte es sein

Eingaben/Änderungen am aktuellen Tag werden erst durch Klick
auf einen Button übernommen (fehlt noch)

Titptop

Ich habe das schon gemacht mit TBBlatt. Das ist jetzt ein
Label lblBlatt. Genauso mit TBDatum —>lblDatum.
Denn dadrin haben sie nix zu ändern.
LblDatum können sie mit dem SpinButton SpinDatum
durchblättern.

Nimm bitte auch anstatt TextBoxen Label für Abladestellen, Bio
usw.

Habe ich gemacht…
http://www.uploadagent.de/show-178434-1317724092.html

Gruss Sascha

Habe ich gemacht…
http://www.uploadagent.de/show-178434-1317724092.html

Hallo Sascha,

ich/wir haben paar Tage lang verschieden aufgebaute mappen hochgeladen.
In meiner letzten hochgeladenen Mapp habe ich mühsam versucht beide Varianten zu einer zu vereinigen.

Jetzt lädst du aber eine Mappe hoch die sich nicht auf die von mir aktuellste Mappe bezieht.
Wir müssen uns da schon auf eine jeweils gültige aktuelle mappe einigen.

Gruß
Reinhard

Hallo Reinhard,

ich/wir haben paar Tage lang verschieden aufgebaute mappen
hochgeladen.
In meiner letzten hochgeladenen Mapp habe ich mühsam versucht
beide Varianten zu einer zu vereinigen.

Jetzt lädst du aber eine Mappe hoch die sich nicht auf die von
mir aktuellste Mappe bezieht.
Wir müssen uns da schon auf eine jeweils gültige aktuelle
mappe einigen.

Ich habe die Mappe die Du heute Morgen hochgeladen hast, heruntergeladen und in der Datenmaske die jeweiligen Textboxen gelöscht und dafür Labels erstellt…

Habe dann diese Mappe wieder hochgeladen.
Es sein denn, Du hast die falsche Mappe hochgeladen gehabt!!??

Warum in aller Welt ist aber nun die Datenmaske so gross resp hoch? Im Editor ist sie normal gross, aber wenn ich sie aufrufe ist sie gewaltig lang… warum das?

hier nochmals die Mappe die ich mittels Link den Du heute morgen gepostet hast, editiert habe…:

http://www.uploadagent.de/show-178456-1317743793.html

Gruss Sascha

Wir müssen uns da schon auf eine jeweils gültige aktuelle

mappe einigen.

Ich habe die Mappe die Du heute Morgen hochgeladen hast,
heruntergeladen und in der Datenmaske die jeweiligen Textboxen
gelöscht und dafür Labels erstellt…

Habe dann diese Mappe wieder hochgeladen.
Es sein denn, Du hast die falsche Mappe hochgeladen gehabt!!??

Hallo sascha,

möglich, weiß grad nicht, muß das prüfen. Es fiel mir nur spontan auf da ich in meiner mappe in MSW_Auswahl die Konfiguration und das X entfernt hatte, in deiner war’s wieder drin.

Wird sich schon klären, nix unübliches in der Testphase mit vielen Mappenvarianten.

Gruß
Reinhard

Warum in aller Welt ist aber nun die Datenmaske so gross resp
hoch? Im Editor ist sie normal gross, aber wenn ich sie
aufrufe ist sie gewaltig lang… warum das?
http://www.uploadagent.de/show-178456-1317743793.html

Hallo Sascha,

http://www.uploadagent.de/show-178488-1317818603.html

Ich habe heute die Datenmaske für die Fahrer abgeändert.
Schau sie dir bitte an ob es dir so recht ist.
Sie sehen immer den Button Schliessen.
Den Button Speichern sehen sie nur wenn sie beim Start automatisch oder durchs blättern wieder den aktuellen Tag betrachten.

Wenn sie auf Speichern klicken wird der tagesdatensatz gespeichert im aktuellen Blatt. Weiterhin werden TB40-TB42 (die Summen) aktualisiert.

In den Standardmodulen habe ich schon begonnen aufzuräumen. Ungenutzte prozeduren sind auskommentiert mit Hochkomma.
Lösche diese bitte nicht. Manche davon brauche ich bald da noch das Speichern der Mappe fehlt usw.

Gruß
Reinhard

Hallo Reinhard,

Ich habe heute die Datenmaske für die Fahrer abgeändert.
Schau sie dir bitte an ob es dir so recht ist.
Sie sehen immer den Button Schliessen.
Den Button Speichern sehen sie nur wenn sie beim Start
automatisch oder durchs blättern wieder den aktuellen Tag
betrachten.

Ja, das sieht doch super und vielversprechend aus… :smile:

Wenn sie auf Speichern klicken wird der tagesdatensatz
gespeichert im aktuellen Blatt. Weiterhin werden TB40-TB42
(die Summen) aktualisiert.

Perfekt

In den Standardmodulen habe ich schon begonnen aufzuräumen.
Ungenutzte prozeduren sind auskommentiert mit Hochkomma.
Lösche diese bitte nicht. Manche davon brauche ich bald da
noch das Speichern der Mappe fehlt usw.

Alles klar, werde nichts löschen…

Super Arbeit. Vielen Dank schon mal

Gruss Sascha

Hallo Sascha,

Ich habe heute die Datenmaske für die Fahrer abgeändert.
Schau sie dir bitte an ob es dir so recht ist.
Sie sehen immer den Button Schliessen.
Den Button Speichern sehen sie nur wenn sie beim Start
automatisch oder durchs blättern wieder den aktuellen Tag
betrachten.

Ja, das sieht doch super und vielversprechend aus… :smile:

okay, dann fehlt jetzt nur noch daß bei jedem Datensatz speichern auch eine Sicherheitsdatei der Mappe gespeichert wird falls der PC abstürzt oder was auch immer geschieht.
Und dazu das mit neuer Mappe anlegen nach Mitternacht bei Monatswechsel.
Richtig daß nur noch diese zwei Dinge fehlen , oder fehlt sonst noch was? ich hab den Überblick verloren :frowning:

Wohlgemerkt, ich meine jetzt nur das was die Fahrer dürfen und die Mappe an sich mit Speicherung usw.

das was du darfst bzw. dein einer Kollege auch spielt noch keine Rolle.
Ich habe das ja schon eingeplant. Die Variable gbolFahrermodus bedeutet bei True Fahrer dürfen am PC nur eingeschränkte Dinge tun.
Ist gbolFahrermodus False heißt das, die Admins sind am Werk (also ihr zwei), d.h. ihr habt mehr Buttons in der datenmaske, dürft jeden Datensatz ändern und die UF datenmaske verlassen um direkt im Blatt etwas zu ändern, die Blätter nach Belieben wechseln.
Fahrer können die UF nicht verlassen.

Ich habe die Standardmodule in der Mappe neu benannt/umsortiert.

http://www.uploadagent.de/show-178498-1317833285.html

Besser für den Überblick *find*

Gruß
Reinhard

Hi Reinhard,
Eine Freude von Dir zu lesen :smile:

okay, dann fehlt jetzt nur noch daß bei jedem Datensatz
speichern auch eine Sicherheitsdatei der Mappe gespeichert
wird falls der PC abstürzt oder was auch immer geschieht.
Und dazu das mit neuer Mappe anlegen nach Mitternacht bei
Monatswechsel.
Richtig daß nur noch diese zwei Dinge fehlen , oder fehlt
sonst noch was? ich hab den Überblick verloren :frowning:

Nein, das ist soweit mal alles…

Wohlgemerkt, ich meine jetzt nur das was die Fahrer dürfen und
die Mappe an sich mit Speicherung usw.

Hört sich super an

Ich habe die Standardmodule in der Mappe neu
benannt/umsortiert.

Ja so machts viel mehr Sinn, da haste recht :smile: Cool…

LG Sascha

Hallo Reinhard,

Bin ein bisschen am testen…

Habe dieses Makro eingefügt:

Option Explicit

Sub ErsterimMonat()
 Dim DaZeit As Date
 DaZeit = DateSerial(Year(Date), Month(Date) + 1, 1) + Time
 Application.OnTime DaZeit, "Monat"
End Sub

Sub Monat()
Unload Auswahl\_MSW
Call SchutzAus
Dim wks As Worksheet, Frage, txtFrage As String, Dateiname As String
Dim Endung As String, Dateiname2 As String
 Application.DisplayAlerts = False
 Application.EnableEvents = False
 Dateiname2 = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
 Endung = Mid(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, "."))
 Dateiname = Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, ".") - 1)
 ThisWorkbook.SaveAs Dateiname & Format(Date, "\_yyyy-mm-dd") & Endung
 Workbooks.Open ThisWorkbook.path & "\" & "MilchDispo" & Endung
 Call Loeschen(Workbooks("MilchDispo" & Endung))
 Call SchutzEin
 Application.EnableEvents = True
 Application.DisplayAlerts = True
 Workbooks(Dateiname2 & Format(Date, "\_yyyy-mm-dd") & Endung).Close savechanges:=False
 End Sub

Aber ich schaffe es einfach nicht, dass ich wenn die Kopie geschlossen wurde und das Original wird angezeigt, dass ich dann die Auswahl_MSW automatisch starten kann…

hast Du eine lösung?

ich kann:

Auswahl_MSW.Show hineinschreiben wo ich will, aber dann schliesst sich die Kopie nicht von selber…

Gruss Sascha

Aber ich schaffe es einfach nicht, dass ich wenn die Kopie
geschlossen wurde und das Original wird angezeigt, dass ich
dann die Auswahl_MSW automatisch starten kann…
hast Du eine lösung?

Hallo Sascha,

http://www.uploadagent.de/show-178532-1317922120.html

das ist die mappe für September.
Ändere in NeuerMonat
Const Pfad As String = „K:\kwMilchdispo“
auf den Pfad zu deinem Ordner der mappe.
Dann starte NeuerMonat. Das ist dann das gleiche als wenn Vba um Mitternacht festellt, daß ein neuer Monat begonnen hat.

Gruß
Reinhard