Milchdispo, Viele Fragen

Hallo liebe Experten,
Hallo Reinhard,

Zuerst meine Mappe:

http://www.uploadagent.de/show-178214-1317398635.html

Diese Mappe wird für unsere Fahrer eine elektronische Arbeits- Milchmengen-Erfassung.
Beim öffnen dieser Mappe öffnet sich als 1. eine UF in der die verschiedenen MSW`s ( Milchsammelwagen) ausgewählt werden können.
Nach dem auswählen kommt automatisch die Datenmaske in der die jeweils heutigen Milchmengen direkt eingegeben werden können.
Die Datenmaske ist in 3 Teile aufgeteilt:

  • Abladestellen (Wo der Endablad erfolgte)
  • Abgabe an (wenn man in einen anderen unserer Lastwagen umgepumpt hat)
  • Erhalten von (wenn man von einem anderen unserer Lastwagen Milch erhalten hat)
    Wenn als zB MSW 1 an LW 10 Milch abgegeben hat, wird diese Menge bei LW 10 auch unter erhalten von MSW1 eingetragen. Damit man Kontrolle über den Ablauf des Tages hat.

Jeder MSW hat seine individuelle Tabellenliste resp. Abladeorte usw.
Die Berechnung ist mittels Formeln und Matrixformeln in der Tabelle gelöst.
Die Datenmaske ab dem 2. Teil liest lediglich aus der Tabelle die Datensätze ein.
Die im 1. Teil eingegeben Werte werden im Tabellenblatt in die ersten beiden Bereiche (Orange und Grün) eingetragen.

Soweit zur erklärung.

Was mir nun fehlt ist:

  1. Priorität
  • Wenn eine Eingabe in der Datenmaske erfolgte und auf Speichern geklickt wird, soll die Mappe (als Datensicherung) gespeichert werden, wie wenn ich manuell auf Datei-Speichern klicken würde.

  • Im Blatt Hilf in der Spalte „F“ habe ich mal provisorisch den aktuellen Monat aufgelistet (wird automatisch erkennt und aufgelistet). Der Code überprüft nun welcher Tag Heute ist und schreibt den Datensatz in die jeweilige Zeile.
    Dies ist wahrscheinlich nicht die beste Art dies zu lösen. Vorallem am jeweils letzten Tag des Monats (der 31 Tage hat)funktioniert es nicht mehr.
    Deshalb meine Frage: Wie kann man dies besser lösen so dass es auch hält was es versrpicht :smile:
    Das Ziel ist es, immer NUR den aktuellen Tag erfassen zu lassen, kann aber so oft man will (bei Falscheingaben zb) geändert werden.
    Dies funktioniert bereits schon.
    Es sollte so sein, dass wenn ein neuer Monat beginnt, die Mappe dies erkennt und sogleich vollautomatisch die „alte“ Mappe abspeichert und einen neuen Monat erstellt, so dass man am jeweils 1. direkt wieder anfangen kann die Datensätze einzugeben.

Ein Makro Namens „Neuer_Monat“ ist in Code bereits enthalten.

Zusammenfassung ausstehende Aufgaben Teil 1:

  • Automatisch Ende Monat abspeichern und neue Mappe mit neuem
    Monat generieren
  • Wenn in der Datenmaske auf Speichern geklickt wird, die
    Mappe Speichern
  • Pro Monat nur so viele Datensätze eingeben wie der Monat
    Tage hat
  • Mappennamen monatlich mit Milch_Dispo_09_2011.xls
    abspeichern

Ich hoffe dies einigermassen verständlich geschrieben zu haben.

Liebe Grüsse
Sascha

Hallo Sascha.

  • Wenn eine Eingabe in der Datenmaske erfolgte und auf
    Speichern geklickt wird, soll die Mappe (als Datensicherung)
    gespeichert werden, wie wenn ich manuell auf Datei-Speichern
    klicken würde.
  • Automatisch Ende Monat abspeichern und neue Mappe mit neuem
    Monat generieren
  • Wenn in der Datenmaske auf Speichern geklickt wird, die
    Mappe Speichern
  • Pro Monat nur so viele Datensätze eingeben wie der Monat
    Tage hat
  • Mappennamen monatlich mit Milch_Dispo_09_2011.xls
    abspeichern

Ich möchte da lieber nochmal nachfragen:

Ich vermute, die „09“ in „Milch_Dispo_09_2011.xls“ steht für September und Dein angestrebtes Dateinamens-Schema lautet „Milch_Dispo_MM_JJJJ.xls“?

Wenn in der Datenmaske auf Speichern geklickt wurde, soll die Datei gespeichert werden, aber unter welchem Namen? Soll eine am Monatsanfang neu erstellte Datei bereits mit diesem Namens-Schema gespeichert werden oder erst wenn die Anwendung feststellt, daß ein neuer Monat beginnt und dann die „alte“ Datei aus dem vorherigen Monat mit diesem Namens-Schema speichern?

Die Frage erscheit vielleicht bekloppt, aber : Woraus wird denn eine neue Datei erstellt? Gibt es da eine Vorlagen-Datei oder ist die Datei, die ich mir auch heruntergeladen habe, die „Vorlage“?

Theoretisch würde ja das automatische Speichern der Datei am Ende eines Monats wegfallen, wenn diese Datei mit Klick auf Speichern in der Datenmaske schon jedesmal „frisch“ gespeichert wird.

VG
Carsten

Hallo Carsten,

  • Wenn eine Eingabe in der Datenmaske erfolgte und auf
    Speichern geklickt wird, soll die Mappe (als Datensicherung)
    gespeichert werden, wie wenn ich manuell auf Datei-Speichern
    klicken würde.
  • Automatisch Ende Monat abspeichern und neue Mappe mit neuem
    Monat generieren
  • Wenn in der Datenmaske auf Speichern geklickt wird, die
    Mappe Speichern
  • Pro Monat nur so viele Datensätze eingeben wie der Monat
    Tage hat
  • Mappennamen monatlich mit Milch_Dispo_09_2011.xls
    abspeichern

Ich möchte da lieber nochmal nachfragen:

Ich vermute, die „09“ in „Milch_Dispo_09_2011.xls“ steht für
September und Dein angestrebtes Dateinamens-Schema lautet
„Milch_Dispo_MM_JJJJ.xls“?

Ja genau so sollte es sein… Aber es sollte automatisch merken dass ien neuer Monat begonnen hat, und danach die „alte“ Mappe abspeichern, eine neue Mappe generieren und die darin enthaltenen Daten in den Orange, Grün und blau markierten Bereichen löschen

Wenn in der Datenmaske auf Speichern geklickt wurde, soll die
Datei gespeichert werden, aber unter welchem Namen? Soll eine
am Monatsanfang neu erstellte Datei bereits mit diesem
Namens-Schema gespeichert werden oder erst wenn die Anwendung
feststellt, daß ein neuer Monat beginnt und dann die „alte“
Datei aus dem vorherigen Monat mit diesem Namens-Schema
speichern?

Die Frage erscheit vielleicht bekloppt, aber : Woraus wird
denn eine neue Datei erstellt? Gibt es da eine Vorlagen-Datei
oder ist die Datei, die ich mir auch heruntergeladen habe, die
„Vorlage“?

Ja genau. Diese Datei wäre die Vorlage

Theoretisch würde ja das automatische Speichern der Datei am
Ende eines Monats wegfallen, wenn diese Datei mit Klick auf
Speichern in der Datenmaske schon jedesmal „frisch“
gespeichert wird.

Stimmt. Diese Mappe ist dann ja immer gespeichert, aber vielleicht nicht im Dateiformat die ich möchte, da diese Mappe ja die Vorlagenmappe sein soll…
Abspeichern im Format, und neue Mappe erstellen wenn ein neuer Monat anfängt…

Gruss Sascha

Grüezi Sascha

Von wegen neuer Mappe bei neuem Monat würde ich das von Office vorgesehene Verfahren verwenden…

Die (leere) Mappe als Vorlage speichern und am Monatsersten dann mit einem Doppelklick darauf eine neue Mappe erstellen lassen. Damit entfällt komplett das Löschen von Bereichen usf.

Ein Prpblem stellt sich mir, wenn ich die Mappe öffne - ich kann mir nicht die einzelnen Tabellenblätter ansehen und auch nicht in den VBA-Editor wechseln, da stets eine Userform aktiv ist, die dies vehindert.

Öffne ich die Mappe ohne Aktivierung der Makros kann ich aber nicht weiter testen - gibt es da eine Hintertür, die wir noch nicht kennen?

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,

Von wegen neuer Mappe bei neuem Monat würde ich das von Office
vorgesehene Verfahren verwenden…

Die (leere) Mappe als Vorlage speichern und am Monatsersten
dann mit einem Doppelklick darauf eine neue Mappe erstellen
lassen. Damit entfällt komplett das Löschen von Bereichen usf.

Das Problem ist, wir sind ein Unternehmen dass 365 Tage im Jahr arbeitet. Und da ich nicht immer am Monatsersten arbeite, kann ich dies auch nicht immer machen und somit gewährleisten dass unsere Fahrer immer eine Mappe zum einschreiben haben. Deswgwn möcht ich das per VBA automatisieren.

Ein Prpblem stellt sich mir, wenn ich die Mappe öffne - ich
kann mir nicht die einzelnen Tabellenblätter ansehen und auch
nicht in den VBA-Editor wechseln, da stets eine Userform aktiv
ist, die dies vehindert.

Öffne ich die Mappe ohne Aktivierung der Makros kann ich aber
nicht weiter testen - gibt es da eine Hintertür, die wir noch
nicht kennen?

uuuppsss. sorry!!! habe ich vergessen zu schreiben. in der 1. UF unten rechts neben „Konfiguration“, kannst Du mit dem „X“ und dem Passwort: „imark“ auf alles zugreifen. Die Fahrer allerdings dürfen auf keinen Fall etwas verändern können. Deswegen ist es geschützt

Liebe Grüsse
Sascha

Grüezi Sascha

OK, ich kenne die Abläufe bei euch intern halt nicht so ganz.
Aber ich könnte mir auch vorstellen, dass Du die leere Mappe einfach 12x kopierst für jeden einzelnen Monat.
Zusammen mit den Überwachungen des aktuellen Datums hast Du dann ja die Sicherheit, dass keine Manipulationen gemacht werden können und dass die Fahrer alle anderen ausser der monatlich aktuellen Mappe nicht mehr vewenden können - das alles kann im Workbook_Open() der Mappe abgefragt werden anhand des Dateinamens und des aktuellen Datums.
Damit sieht das Workbook_Open() dann in etwa so aus:

Private Sub Workbook\_Open()
 If Right(Replace(ThisWorkbook.Name, ".xls", ""), 7) Format(Date, "mm\_yyyy") Then
 MsgBox "Diese Datei ist aktuell nicht zur bearbeitung freigegeben!" & Chr(10) & \_
 "Bitte diese aktuelle Monatsdatei verwenden:" & Chr(10) & Chr(10) & \_
 "Milch\_Dispo\_" & Format(Date, "mm\_yyyy")
 ThisWorkbook.Close False
 End If
 Call SchutzEin
 Daten
End Sub

    
    
    Nun kann die Mappe nicht mehr bearbeitet werden, wenn der aktuellen Monat nicht zum Namen der Mappe passt.
    
    
    
    > 1. Priorität  
    >   
    > - Wenn eine Eingabe in der Datenmaske erfolgte und auf  
    > Speichern geklickt wird, soll die Mappe (als Datensicherung)  
    > gespeichert werden, wie wenn ich manuell auf Datei-Speichern  
    > klicken würde.
    
    
    Reicht es da nicht aus, einfach als letzte Zeile dieser Sub das Speichern wie folgt einzubauen?
    
    
    
        ThisWorkbook.Save
    
    
    
    
    
    > - Im Blatt Hilf in der Spalte "F" habe ich mal provisorisch  
    > den aktuellen Monat aufgelistet (wird automatisch erkennt und  
    > aufgelistet). Der Code überprüft nun welcher Tag Heute ist und  
    > schreibt den Datensatz in die jeweilige Zeile.  
    > Dies ist wahrscheinlich nicht die beste Art dies zu lösen.  
    > Vorallem am jeweils letzten Tag des Monats (der 31 Tage  
    > hat)funktioniert es nicht mehr.  
    > Deshalb meine Frage: Wie kann man dies besser lösen so dass es  
    > auch hält was es versrpicht :smile:
    
    
    Wie oben im Workbook\_Open() gezeigt kannst Du direkt auf das aktuelle Systemdatum zugreifen.
    Damit kannst Du dann z.B. gezielt auf die Zeile des Datums zugreifen und Anpassungen nur dort erlauben.
    
    
    
    > Es sollte so sein, dass wenn ein neuer Monat beginnt, die  
    > Mappe dies erkennt und sogleich vollautomatisch die "alte"  
    > Mappe abspeichert und einen neuen Monat erstellt, so dass man  
    > am jeweils 1. direkt wieder anfangen kann die Datensätze  
    > einzugeben.
    
    
    Wie gesagt würde ich da den Weg über die vorbereiteten Mappen gehen statt da im Code drin alles wieder zu löschen - der Hinweis auf die korrekte Mappe für den jeweiligen Tag wird ja auch schon ausgegeben.
    
    Wenn Du selbst solch eine Mappe bearbeiten willst kannst Du beim öffnen die SHIFT-Taste gedrückt halten, dann wird das Open-Event übersprungen, VBA läuft aber dennoch.
    
    Oder Du baust es so ein, dass die Mappen an anderen Monaten nur betrachtet werden kann, das ist noch offen.
    
    
    
    > - Automatisch Ende Monat abspeichern und neue Mappe mit neuem  
    > Monat generieren
    
    
    Mein Hinweis auf die vorbereiteten Mappen ist hier meine Antwort (vorerest)
    
    
    
    > - Wenn in der Datenmaske auf Speichern geklickt wird, die  
    > Mappe Speichern
    
    
    Sollte mit der einen Code-Zeile eigentlich erfüllt sein
    
    
    
    > - Pro Monat nur so viele Datensätze eingeben wie der Monat  
    > Tage hat
    
    
    Über den Zugriff des aktuellen Datums die Zeile bestimmen in die geschrieben wird, da muss der Code noch entwickelt oder angepasst werden.
    
    
    
    > - Mappennamen monatlich mit Milch\_Dispo\_09\_2011.xls  
    > abspeichern
    
    
    Siehe meinen Hinweis zur ersten Frage
    
    
    Mit freundlichen Grüssen aus dem schwül-heissen Saudi-Arabien
    
    Thomas Ramel
    - MVP für MS-Excel -

Hallo Sascha,

ich hab dir jetzt das Klassenmodul für die Textboxen eingebaut indem ich Nepus Code umgeändert habe.

Es scheint zu funktionieren zeigt derzeit aber nur den Asciiwert des zeichens an daß du grad in eine TB der UF eingibst.
das mit 0-9 Komma Punkt usw. kommt noch, auch so daß es in CH und D funktioniert.

Dazu eine Frage, es funktioniert derzeit für alle TBs in Datenmaske.
Für welche soll es nicht funktionieren bzw. anders funktionieren und wenn ja wie?

http://www.uploadagent.de/show-178262-1317468725.html

Das Problem ist, wir sind ein Unternehmen dass 365 Tage im
Jahr arbeitet. Und da ich nicht immer am Monatsersten arbeite,
kann ich dies auch nicht immer machen und somit gewährleisten
dass unsere Fahrer immer eine Mappe zum einschreiben haben.
Deswgwn möcht ich das per VBA automatisieren.

Ich habe vor jetzt (WE) zumindest die 2-3 wichtigsten Punkte vom Tisch zu haben.

In deinem Fall halte ich es nicht für sinnvoll eine Vorlage, xlt zu benutzen. Aber angebracht finde ich daß du oder wenn du nicht da bist ein anderer immer die gleiche Mappe startet.
Wie schon mal geschrieben aber dann wohl untergangen, ist in dieser Mappe nicht viel drin.

Sie prüft nur das aktuelle Datum, startet dann die entsprechende für diesen Monat/Jahr geltende eigentliche Mappe bzw. legt diese an und startet sie.
In den aufgerufenen Mappen ist dann Code der dann diese Startmappe schließt.

Soll ich das so coden?
uuuppsss. sorry!!! habe ich vergessen zu schreiben. in der 1.
UF unten rechts neben „Konfiguration“, kannst Du mit dem „X“
und dem Passwort: „imark“ auf alles zugreifen. Die Fahrer
allerdings dürfen auf keinen Fall etwas verändern können.

Dieses „X“ unten ist leicht zu übersehen.
Wie schonmal gesagt, leg doch den Code für dieses „X“ in das Query-Ereignis der UF.

Mit ein bißchen Windowserfahrung ist man das Schließkreuz oben rechts sehr gewöhnt und weiß damit kommt man „raus“.

Wenn du unbedingt da unten rechts diese „X“ behalten willst so mußte das aber aufpeppen. Farblich oder aber mit Text wie Verlassen, Abbruch Kündigung *gg* o.ä

Übrigens, was ich schon lange sagen wollte aber es gibt soviel zusagen :frowning:
Wenn man in der Auswahl-UF ein MSW gewählt hat, warum dann noch der Zwang auf OK zu drücken?
Hat man das falsche Blatt erwischt und die datenmaske erscheint so klickt man auf Abbrechen und kann neu wählen.

Gruß
Reinhard

Hallo Reinhard,

ich hab dir jetzt das Klassenmodul für die Textboxen eingebaut
indem ich Nepus Code umgeändert habe.

Es scheint zu funktionieren zeigt derzeit aber nur den
Asciiwert des zeichens an daß du grad in eine TB der UF
eingibst.
das mit 0-9 Komma Punkt usw. kommt noch, auch so daß es in CH
und D funktioniert.

WOW, super, wenn das funktioniert, habe ich zum ersten Mal was mit Klaasenmodulen zu tun und kann probieren den Code zu verstehen um dies auch mal bei anderem einzusetzen. Vielen Dank…

Dazu eine Frage, es funktioniert derzeit für alle TBs in
Datenmaske.
Für welche soll es nicht funktionieren bzw. anders
funktionieren und wenn ja wie?

Es soll für sämtliche TB`s (also TB1 - TBirgendwelche_fortlaufende_Zahl) funktionieren, da wir ausschliesslich nur Dezimalzahlen eingeben.

http://www.uploadagent.de/show-178262-1317468725.html

Das Problem ist, wir sind ein Unternehmen dass 365 Tage im
Jahr arbeitet. Und da ich nicht immer am Monatsersten arbeite,
kann ich dies auch nicht immer machen und somit gewährleisten
dass unsere Fahrer immer eine Mappe zum einschreiben haben.
Deswgwn möcht ich das per VBA automatisieren.

Ich habe vor jetzt (WE) zumindest die 2-3 wichtigsten Punkte
vom Tisch zu haben.

In deinem Fall halte ich es nicht für sinnvoll eine Vorlage,
xlt zu benutzen. Aber angebracht finde ich daß du oder wenn du
nicht da bist ein anderer immer die gleiche Mappe startet.
Wie schon mal geschrieben aber dann wohl untergangen, ist in
dieser Mappe nicht viel drin.

Ja genau, das finde ich auch nicht sinnvoll. Das Ziel ist es den Computer nie ausschlaten, resp. die Mappe nie zu schliessen. Und wenn, dann sollte immer nur die gleiche Mappe gestartet werden müssen. z.B. vom Desktop aus. Alles andere sind dann quasi Sicherungen.

Sie prüft nur das aktuelle Datum, startet dann die
entsprechende für diesen Monat/Jahr geltende eigentliche Mappe
bzw. legt diese an und startet sie.
In den aufgerufenen Mappen ist dann Code der dann diese
Startmappe schließt.

Ja genial, so sollte es sein. Möglichst einfach für alle User.
Die Fahrer brauchen nicht mitbekommen was da geschieht. Die Fahrer sehen nur immer das gleiche Bild.

Soll ich das so coden?

Ja, sehr gerne

uuuppsss. sorry!!! habe ich vergessen zu schreiben. in der 1.
UF unten rechts neben „Konfiguration“, kannst Du mit dem „X“
und dem Passwort: „imark“ auf alles zugreifen. Die Fahrer
allerdings dürfen auf keinen Fall etwas verändern können.

Dieses „X“ unten ist leicht zu übersehen.
Wie schonmal gesagt, leg doch den Code für dieses „X“ in das
Query-Ereignis der UF.

Meine Idee war auch so, dass das „X“ nicht gesehen wird, sondern nur von mir und noch einem anderen angewiesenen Mitarbeiter benutzt wird.

Was genau bedeutet in das Query-Ereignis? Es ist ja nicht möglich das von Windows erhaltene „X“ Oben rechts in der Maske mit einem Passwort zu versehen, dass ermöglicht nur mit Passwort aus der UF heraus zu kommen, oder?

Mit ein bißchen Windowserfahrung ist man das Schließkreuz oben
rechts sehr gewöhnt und weiß damit kommt man „raus“.

Wenn du unbedingt da unten rechts diese „X“ behalten willst so
mußte das aber aufpeppen. Farblich oder aber mit Text wie
Verlassen, Abbruch Kündigung *gg* o.ä

Übrigens, was ich schon lange sagen wollte aber es gibt soviel
zusagen :frowning:
Wenn man in der Auswahl-UF ein MSW gewählt hat, warum dann
noch der Zwang auf OK zu drücken?
Hat man das falsche Blatt erwischt und die datenmaske
erscheint so klickt man auf Abbrechen und kann neu wählen.

Bin ich Deiner Meinung, aber irgendwie ist mir das nie in den Sinn gekommen… Ja, klar, nur den MSW auswählen ohne OK zu drücken ist sinvoller und eine feine Sache :smile:))))

Lieber Gruss
Sascha

Grüezi Thomas,

OK, ich kenne die Abläufe bei euch intern halt nicht so ganz.
Aber ich könnte mir auch vorstellen, dass Du die leere Mappe
einfach 12x kopierst für jeden einzelnen Monat.
Zusammen mit den Überwachungen des aktuellen Datums hast Du
dann ja die Sicherheit, dass keine Manipulationen gemacht
werden können und dass die Fahrer alle anderen ausser der
monatlich aktuellen Mappe nicht mehr vewenden können - das
alles kann im Workbook_Open() der Mappe abgefragt werden
anhand des Dateinamens und des aktuellen Datums.
Damit sieht das Workbook_Open() dann in etwa so aus:

Private Sub Workbook_Open()
If Right(Replace(ThisWorkbook.Name, „.xls“, „“), 7)
Format(Date, „mm_yyyy“) Then
MsgBox „Diese Datei ist aktuell nicht zur bearbeitung
freigegeben!“ & Chr(10) & _
„Bitte diese aktuelle Monatsdatei verwenden:“ & Chr(10) &
Chr(10) & _
„Milch_Dispo_“ & Format(Date, „mm_yyyy“)
ThisWorkbook.Close False
End If
Call SchutzEin
Daten
End Sub

Nun kann die Mappe nicht mehr bearbeitet werden, wenn der
aktuellen Monat nicht zum Namen der Mappe passt.

Danke, das ist sicher auch eine Lösung…
Das Problem ist, das die Fahrer keinen Zugriff erhalten sollen auf die im Netzwerk eingebettete Festplatte und somit all den Mappen.
Auch sollten die Fahrer sich nicht mit den Mappen herumschlagen resp. die richtige Mappe suchen müssen.
Es sollte einfach IMMER die aktuelle Mappe angezeigt bleiben (da wir den Computer nie ausschalten wollen), und beim Monatsanfang soll automatisch die Mappe des neuen Monats gestartet werden.

  1. Priorität
  • Wenn eine Eingabe in der Datenmaske erfolgte und auf
    Speichern geklickt wird, soll die Mappe (als Datensicherung)
    gespeichert werden, wie wenn ich manuell auf Datei-Speichern
    klicken würde.

Reicht es da nicht aus, einfach als letzte Zeile dieser Sub
das Speichern wie folgt einzubauen?

ThisWorkbook.Save

Genau, das wars. so hab ichs mir vorgestellt :smile: Danke

Es sollte so sein, dass wenn ein neuer Monat beginnt, die
Mappe dies erkennt und sogleich vollautomatisch die „alte“
Mappe abspeichert und einen neuen Monat erstellt, so dass man
am jeweils 1. direkt wieder anfangen kann die Datensätze
einzugeben.

Wie gesagt würde ich da den Weg über die vorbereiteten Mappen
gehen statt da im Code drin alles wieder zu löschen - der
Hinweis auf die korrekte Mappe für den jeweiligen Tag wird ja
auch schon ausgegeben.

Wie oben erläutert, ist es für die Fahrer gar nicht möglich auf die Mappen zuzugreifen…

Wenn Du selbst solch eine Mappe bearbeiten willst kannst Du
beim öffnen die SHIFT-Taste gedrückt halten, dann wird das
Open-Event übersprungen, VBA läuft aber dennoch.

Oder Du baust es so ein, dass die Mappen an anderen Monaten
nur betrachtet werden kann, das ist noch offen.

Die anderen Mappen brauchen wir nur im Büro und in der Dispo zur durchsicht und zur Kontrolle, sowie auch um die Daten auszulagern und an die Zentrale weiterzuleiten.

  • Wenn in der Datenmaske auf Speichern geklickt wird, die
    Mappe Speichern

Sollte mit der einen Code-Zeile eigentlich erfüllt sein

Ist es auch… :smile:

  • Pro Monat nur so viele Datensätze eingeben wie der Monat
    Tage hat

Über den Zugriff des aktuellen Datums die Zeile bestimmen in
die geschrieben wird, da muss der Code noch entwickelt oder
angepasst werden.

Dies ist auch ein Punkt auf meiner Liste. Funktioniert zwar bislang, aber ich glaube es ist so nicht wirklich korrekt gelöst?..

Danke für die Hilfe

Liebe Grüsse aus der Schweiz
Sascha

Hallo Reinhard,

Dieses „X“ unten ist leicht zu übersehen.
Wie schonmal gesagt, leg doch den Code für dieses „X“ in das
Query-Ereignis der UF.

Mit ein bißchen Windowserfahrung ist man das Schließkreuz oben
rechts sehr gewöhnt und weiß damit kommt man „raus“.

Das funktioniert soweit. Aber die Passwortabfrage kommt nun immer wenn die UF geschlossen wird, also auch wenn ich den MSW auswähle und OK klicke, (die UF wird ja beim aktivieren der Datenmaske auch geschlossen…

Habe den Code so eingefügt:

Private Sub UserForm\_QueryClose(Cancel As Integer, CloseMode As Integer)
'X oben rechts mit Passwort
PasswortX.Show
End Sub

Danke

LG Sascha

Grüezi Sascha

OK, ich kenne die Abläufe bei euch intern halt nicht so ganz.

Das hat sich inzwischen aufgrund deiner Antworten an Reinhard und mich ein wenig geändert. Und schon tauchen neue Fragen auf :smile:

Das Problem ist, das die Fahrer keinen Zugriff erhalten sollen
auf die im Netzwerk eingebettete Festplatte und somit all den
Mappen.

Nunja, um die Mappen zu öffnen brauchen sie ja sehr wohl Zugriff, allerdings müssen sie sich nicht im Netzwerk bewegen müssen. Das ist IMO der Hintergedanke.

Es sollte einfach IMMER die aktuelle Mappe angezeigt bleiben
(da wir den Computer nie ausschalten wollen), und beim
Monatsanfang soll automatisch die Mappe des neuen Monats
gestartet werden.

Wird denn die Mappe sagen wir täglich einmal geschlossen oder ist der Gedanke der, dass sie fortlaufend 24 Stunden geöffnet bleibt?

Wenn ja dann ist das ein Problem, das noch näher angesehen werden muss, weil dann nämlich zu einem bestimmten Zeitpunkt oder Ereignis die geöffnete Mappe nicht mehr beschrieben werden kann/darf, nämlich immer beim Monatswechsel.

Wird die Mappe aber täglich (mindestens) einmal geschlossen und geöffnet, dann tendiere ich zu einer ähnlichen Lösung wie Reinhard:

Eine Startmappe die jeweils geöffnet wird.
12 Monatsmappen die bereits vorbereitet und leer vorhanden sind.

Aufgrund des aktuellen Datums beim Start prüft dann die Startmappe welches die aktuelle Mappe ist und öffnet diese selbstständig. Dann schliesst sich die Startmappe von alleine wieder.

Das dürfte so ziemlich deinem Szenario entsprechen, denke ich.

  • Pro Monat nur so viele Datensätze eingeben wie der Monat
    Tage hat

Über den Zugriff des aktuellen Datums die Zeile bestimmen in
die geschrieben wird, da muss der Code noch entwickelt oder
angepasst werden.

Dies ist auch ein Punkt auf meiner Liste. Funktioniert zwar
bislang, aber ich glaube es ist so nicht wirklich korrekt
gelöst?..

Wie gesagt brauchst du da keine Zwischentabelle sondern kannst direkt auf das aktuelle Datum zugreifen (resp. Reinhard wird dies tun :wink:)

Liebe Grüsse aus der Schweiz

Danke, eigentlich auch von daher, im Moment aber noch in Saudi-Arabien :smile:

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas.

Sorry für die späte Antwort. Aber die WWW Seite konnte nicht erreicht werden bis jetzt… Komisch, hatte das Problem letzte Woche schon mal. Hoffe es liegt nicht an mir…

Das hat sich inzwischen aufgrund deiner Antworten an Reinhard
und mich ein wenig geändert. Und schon tauchen neue Fragen auf

-)

Nunja, um die Mappen zu öffnen brauchen sie ja sehr wohl
Zugriff, allerdings müssen sie sich nicht im Netzwerk bewegen
müssen. Das ist IMO der Hintergedanke.

Das Ziel ist, dass die Fahrer immer nur die geöffnete Mappe sehen.
Das öffnen oder schliessen der Mappe wird nur durch mich geregelt…

Es sollte einfach IMMER die aktuelle Mappe angezeigt bleiben
(da wir den Computer nie ausschalten wollen), und beim
Monatsanfang soll automatisch die Mappe des neuen Monats
gestartet werden.

Wird denn die Mappe sagen wir täglich einmal geschlossen oder
ist der Gedanke der, dass sie fortlaufend 24 Stunden geöffnet
bleibt?

Mein Gedanke ist dass die Mappe 24 stunden geöffnet bleibt.
Aber wenn ich weiss, es geht nur wenn ich die Mappe täglich schliesse, dann muss ich mir was einfallen lassen.
Ich habe gehofft, dass immer wenn die UF Auswahl_MSW geöffnet wird, durch VBA überprüft werden kann ob es noch immer der jetzige Tag und der Jetzige Monat ist.
Wenn dann aber Monatswechsel ist, sollte es dies erkennen und einen neuen Monat öffnen resp generieren.
Ich glaube Reinhard ist an diesem Problem dabei zu programmieren…?..

Wenn ja dann ist das ein Problem, das noch näher angesehen
werden muss, weil dann nämlich zu einem bestimmten Zeitpunkt
oder Ereignis die geöffnete Mappe nicht mehr beschrieben
werden kann/darf, nämlich immer beim Monatswechsel.

Wird die Mappe aber täglich (mindestens) einmal geschlossen
und geöffnet, dann tendiere ich zu einer ähnlichen Lösung wie
Reinhard:

Eine Startmappe die jeweils geöffnet wird.
12 Monatsmappen die bereits vorbereitet und leer vorhanden
sind.

Aufgrund des aktuellen Datums beim Start prüft dann die
Startmappe welches die aktuelle Mappe ist und öffnet diese
selbstständig. Dann schliesst sich die Startmappe von alleine
wieder.

Kann VBA das Datum nicht
prüfen wenn eine UF aufgerufen wird? Kann das nur beim Start geschehen?

Das dürfte so ziemlich deinem Szenario entsprechen, denke ich.

  • Pro Monat nur so viele Datensätze eingeben wie der Monat
    Tage hat

Über den Zugriff des aktuellen Datums die Zeile bestimmen in
die geschrieben wird, da muss der Code noch entwickelt oder
angepasst werden.

Dies ist auch ein Punkt auf meiner Liste. Funktioniert zwar
bislang, aber ich glaube es ist so nicht wirklich korrekt
gelöst?..

Wie gesagt brauchst du da keine Zwischentabelle sondern kannst
direkt auf das aktuelle Datum zugreifen (resp. Reinhard wird
dies tun :wink:)

Ja da wäre ich froh… Danke :smile:

Liebe Grüsse
Sascha

Grüezi Sascha

Sorry für die späte Antwort. Aber die WWW Seite konnte nicht
erreicht werden bis jetzt… Komisch, hatte das Problem letzte
Woche schon mal. Hoffe es liegt nicht an mir…

Nein, ich hatte hier auch soeben meine Probleme und sitze ja noch in Saudi-Arabien… :smile:

Mein Gedanke ist dass die Mappe 24 stunden geöffnet bleibt.

Dann fällte die Idee mit dem Workboo_Open() schon mal flach…

Ich habe gehofft, dass immer wenn die UF Auswahl_MSW geöffnet
wird, durch VBA überprüft werden kann ob es noch immer der
jetzige Tag und der Jetzige Monat ist.

…denn das ist natürlich auch möglich.

Kann VBA das Datum nicht
prüfen wenn eine UF aufgerufen wird? Kann das nur beim Start
geschehen?

Nein, das ist wie gesagt auch anders möglich.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Sascha,

WOW, super, wenn das funktioniert, habe ich zum ersten Mal was
mit Klaasenmodulen zu tun und kann probieren den Code zu
verstehen um dies auch mal bei anderem einzusetzen. Vielen
Dank…

hier ist ein guter Einstieg in Klassen:
http://www.online-excel.de/excel/grusel_vba.php?f=7

http://www.uploadagent.de/show-178262-1317468725.html

Das Ziel ist es
den Computer nie ausschlaten, resp. die Mappe nie zu
schliessen. Und wenn, dann sollte immer nur die gleiche Mappe
gestartet werden müssen. z.B. vom Desktop aus. Alles andere
sind dann quasi Sicherungen.

Es gibt da ein Problem, wann genau soll denn beim Monatswechsel auf den neuen Monat/Mappe umgeschaltet werden?
Punkt 0 Uhr am „Ersten“?
Das ist schlecht für Fahrer die morgens von ihrer Tour zurückkommen und eintragen wollen wo sie gestern Abend geladen hatten.
Spiel das mal gedanklich durch.

Prinzipiell könnte man schon zu einer betimmten Uhrzeit ggfs. den Monat/Mappe umstellen lassen.

Gruß
Reinhard

Guten Morgen Reinhard

hier ist ein guter Einstieg in Klassen:
http://www.online-excel.de/excel/grusel_vba.php?f=7

http://www.uploadagent.de/show-178262-1317468725.html

Vielen Dank für die Info! werde mich da durchlesen.

Das Ziel ist es
den Computer nie ausschlaten, resp. die Mappe nie zu
schliessen. Und wenn, dann sollte immer nur die gleiche Mappe
gestartet werden müssen. z.B. vom Desktop aus. Alles andere
sind dann quasi Sicherungen.

Es gibt da ein Problem, wann genau soll denn beim
Monatswechsel auf den neuen Monat/Mappe umgeschaltet werden?
Punkt 0 Uhr am „Ersten“?
Das ist schlecht für Fahrer die morgens von ihrer Tour
zurückkommen und eintragen wollen wo sie gestern Abend geladen
hatten.
Spiel das mal gedanklich durch.

Prinzipiell könnte man schon zu einer betimmten Uhrzeit ggfs.
den Monat/Mappe umstellen lassen.

dadurch dass ich in der Mappe nur ermöglichen möchte, jeweils nur den heutigen tag zu editieren. so können die fahrer niemals den gestrigen tag eingeben. dies soll auch so bleiben von daher wäre ein wechel der mappe am 1. um 0:00 Uhr sinnvoll.
das ändern der letzen tage kann nur per passwort getätigt werden.

liebe grüsse sascha

Hallo Sascha.

  • Automatisch Ende Monat abspeichern und neue Mappe mit neuem
    Monat generieren
  • Wenn in der Datenmaske auf Speichern geklickt wird, die
    Mappe Speichern
  • Pro Monat nur so viele Datensätze eingeben wie der Monat
    Tage hat
  • Mappennamen monatlich mit Milch_Dispo_09_2011.xls
    abspeichern

Ich habe mir die Beitragsfolge durchgelesen und denke inzwischen, dass die Abfolge anders aufgebaut werden sollte.

Wenn sich die Fahrer einzig und ausschließlich in der Datenmaske bewegen können, dann sollte alles überprüfen von Tag und Datum beim Öffnen der Datei und beim Monatswechsel wegfallen.

Dann solltest Du es so aufbauen, dass Du irgendeine Datei nimmst, die die Datenmaske anzeigt. Wenn dann ein Fahrer einen Datensatz speichert, sollte der Programm-Code erst danach dafür sorgen, dass dieser Datensatz richtig zugeordnet wird.

Dann könntest Du auch auf einige Sachen in der Datenmaske vezichten, z.B. auf das Scrollen der Datensätze. Das würde den Aufbau verkleinern und die Übersichtlichkeit verbessern.

Im Grunde genommen schreit Dein Vorhaben nach zwei einzelnen Anwendungen: Eine für die Fahrer, eine für die Buchhaltung.

VG
Carsten

Das funktioniert soweit. Aber die Passwortabfrage kommt nun
immer wenn die UF geschlossen wird, also auch wenn ich den MSW
auswähle und OK klicke, (die UF wird ja beim aktivieren der
Datenmaske auch geschlossen…

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.

Die UF Auswahl habe ich umgestellt.
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.

Passworteingabe ist auf max. 3 Versuche limiert.

Gruß
Reinhard

Mist, Mappe vergessen hochzuladen :frowning:
Hallo Sascha,
hier die Mappe:

http://www.uploadagent.de/show-178293-1317542698.html

Hallo Carsten,

Ich habe mir die Beitragsfolge durchgelesen und denke
inzwischen, dass die Abfolge anders aufgebaut werden sollte.

Wenn sich die Fahrer einzig und ausschließlich in der
Datenmaske bewegen können, dann sollte alles überprüfen von
Tag und Datum beim Öffnen der Datei und beim Monatswechsel
wegfallen.

Dann solltest Du es so aufbauen, dass Du irgendeine Datei
nimmst, die die Datenmaske anzeigt. Wenn dann ein Fahrer einen
Datensatz speichert, sollte der Programm-Code erst danach
dafür sorgen, dass dieser Datensatz richtig zugeordnet wird.

Dann könntest Du auch auf einige Sachen in der Datenmaske
vezichten, z.B. auf das Scrollen der Datensätze. Das würde den
Aufbau verkleinern und die Übersichtlichkeit verbessern.

Das scrollen der Datensätze ist mir eben schon wichtig. Die Dispo kann somit nachschauen welcher LKW wieviel Liter gefahren hat vor 2 Tagen und somit auch besser disponieren. Die Buchhaltung wird ledigilich diese Zahlen Tag für Tag mit den EDV Systemen auf den LKW`s vergleichen.

Mir selbst passt es super wenn ein und alles in derselben Datei passiert…

Im Grunde genommen schreit Dein Vorhaben nach zwei einzelnen
Anwendungen: Eine für die Fahrer, eine für die Buchhaltung.

LG Sascha

Hallo Reinhard,

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!
Damit hast Du praktisch alles drausse was unnütze ist…
Ich schau mal ob ich noch was finde…

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!!

Passworteingabe ist auf max. 3 Versuche limiert.

cooles Feature. *gefällt*gg*

LG Sascha