Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
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

Nicht genügen Speicher - 2 Teil

Nicht genügen Speicher - 2 Teil
07.08.2021 22:48:09
Andreas
Hallo alle zusammen,
hallo auch Daniel, der mir den Tipp gegeben hat, nicht mit Multipages zu arbeiten.
Vielleicht kann mir jemand von Euch helfen bzw. mich ein bisschen anleiten, wie ich mein Userform auf beigefügter Mappe zum Laufen bekomme.
Die Datei lade ich hier hoch:
https://www.herber.de/bbs/user/147499.xlsm
Um was geht es: Ich hatte Anfangs 1500 Textboxen in einem Userform, was zur Meldung "Nicht genügend Speicher" führte. Daniel hatte dann den Vorschlag, dass man nicht mit Multipages arbeiten solle, sondern mit Registerkarten und die Comboboxen/ Textfelder auf Basis der Registerkarten füllen möge, da der Aufbau unter den Pages nahezu identisch war. Ich glaube auch, dass ich es geschafft habe, die Daten der Tabelle1 in ein Array einzuladen.
Ich würde nun gerne die Registerkarten dazu benutzen, dass die Daten in die zugehörigen Comboboxen und Textfelder geladen werden, ich auch neue hinzufügen und abspeichern kann, wenn ich sie bearbeitet habe.
5 Schichten sind an einem Tag anwesend. Jedes eingeteilte Team in der jeweiligen Schicht soll die Möglichkeit haben, zum ausgewähten Tag die Teammitglieder namentlich abzuspeichern und dem Namen in der Uhrzeit zwischen 06:00 - 06:00 Uhr jeweilige Kürzel zuzuordnen. Dies soll für alle 5 Schichten funktionieren.
Kann mir vielleicht jemand bei der Aufgabenstellung ein bisschen unter die Arme greifen ? Wäre wirklich super, da ich nicht wirklich weiß, wie ich das Problem angehen soll.
Vielen Dank erstmal für Eure Unterstützung.

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nicht genügen Speicher - 2 Teil
08.08.2021 11:19:16
Andreas
Ich habe die Datei noch ein bisschen ergänzt, indem er nun auch auf die Registerkarten reagiert und die Felder löscht.
Insbesondere wäre es super, wenn mir jemand das mit dem array erklären könnte, damit er mir die Werte aus der Tabelle einliest und ich sie in die gewünschten Felder bekomme.
Hier die aktualisierte Datei:
https://www.herber.de/bbs/user/147502.xlsm
Besten Dank
Andreas
Anzeige
Datenstruktur?
08.08.2021 11:56:27
ralf_b
Mahlzeit,
bevor du mit deinem Projekt in die Vollen gehst, rate ich dazu die Datenstruktur zu überdenken. Is nicht böse gemeint.
Ich bin mir fast sicher das der eine oder andere Profi die Hände über dem Kopf zusammenschlägt wenn er deine Datei sieht.
Die Userform ist nur eine Visualisierung und Eingabeerleichterung Aber auch dort sollte die Funktion so einfach wie möglich gehalten werden. Es gibt immer noch genug Leute ,die mit Computerprogrammen so Ihre Schwierigkeiten haben.
Außerdem stellen sich mir noch Fragen.
Wie realisierst du den Schichtwechsel eines Mitarbeiters? Also wenn der mal in eine andere Schicht möchte.
Kann ein Mitarbeiter auch Doppelschichten machen?
Soll die Schichtübersicht später zu weiteren Auswertungen herangezogen werden?
Soll das Programm evtl. auch zur Planung einer zukünftigen Schicht genutzt werden?
gruß
rb
Anzeige
AW: Datenstruktur?
08.08.2021 12:05:11
Andreas
Hallo rb
vielen Dank für dein Feedback. Leider bin ich ja kein Profiprogrammierer, sondern erarbeite mir mehr oder weniger meine Lichtblicke am weiten Horizont. Ich hatte eigentlich gehofft, dass die Datei gar nicht so schlecht geworden ist...scheint wohl doch nicht so der Fall geworden zu sein :)...
Die Mitarbeiter sollen zunächst mal händisch eingetragen werden. Zwar gibt es feste Teams, hin und wieder kommt aber auch mal einer vom Team A zum Team B, quasi als Aushilfe.
Mein Gedanke war, wenn man das TeamA auswählt, dass automatisch später mal alle Namrn von TeamA einegtragen werden (sind meist 7 Leute), die zb als Vorlage auf Tabellenblatt2 hinterlegt sind. Das würde ich aber gerne später erst realisieren. Bisher soll man manuell jeden Namen eingeben, der dann gespeichert wird.
Damit kann man händisch auch mal einen von TeamB bei Team A eingeben, wenn der mal aushelfen sollte. Mit speichern soll dann quasi das neue Team zusammengestellt sein und in der Tabelle1 unter dem Datum in 10 Zeilen abgespeichert werden.
So war der Gedanke an der ganzen Sache. Mitarbeiterplanungen usw sind nicht angedacht - das dient derzeit ehr als Tabelle. Die Tabelle1 wird dann mit einer Pivot am Ende ausgewertet.
Anzeige
AW: Datenstruktur?
08.08.2021 12:47:21
Andreas
Hallo rb nochmal.
ich habe auf deinen Thread hin die Tabelle1 überarbeitet, so dass man vielleicht einen besseren Überblick bekommt, als es in den ersten beiden Ausführungen der Fall war.
Zwar braucht die Tabelle1 dann 50 Zeilen für 1 Tag, aber nicht mehr so viele Spalten.
https://www.herber.de/bbs/user/147503.xlsm
Filtern des Arrays
08.08.2021 13:54:11
Andreas
Kann mir vielleicht nebenbei jemand sagen, wie ich mein Array (arrListeAlles) nach Datum und Team gefiltert bekomme, so dass ich mit diesen Daten dann in einem neuen array (arrListeFilter) weiterarbeiten kann?
Anzeige
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 14:25:07
Daniel
Hi
wenn das dein Tabellenkonzept auch für die Speicherung der Daten ist, würde ich die Eingabe direkt in Tabellenblatt machen.
die Userform bleibt als Erweitertes Menü in der der Anwender Schicht, Tag und Zeitbereich auswählen kann.
Wenn er das dann macht, blendest du im Tabellenblatt diese Zeilen und Spalten ein und alle anderen aus, so dass er nur das sehen kann, was er ausgewählt hat.
Gruß Daniel
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 14:49:10
Andreas
Das Blatt wird später ausgeblendet - das wird alles über das userform gemacht, dort sollen nur die rohdaten liegen.
.. sonst hätte ich - wie es gerade ist - 365 Tabellenblätter anlegen können, um dort zu schreiben.
Anzeige
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 14:54:46
Daniel
naja, dann wird eben nicht ausgeblendet, sondern nur das eingeblendet, was der Anwender gerade ausfüllen will.
dann reicht auch ein Blatt.
Wenn die Userform genauso aussieht wie das Excelblatt, dann macht die Userform keine Sinn und es ist besser, das Blatt direkt zu bearbeiten.
auch so sind das ja noch ziemlich viele Textboxen, die zu händeln hast.
Gruß Daniel
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 15:11:14
Helge
Es war ja dein Vorschlag, den Du unterbreitet hattest, eben mit den Registern zu arbeiten. Finde ich doch ganz gut die Idee...
Ich habe die Daten ja schon alle im Array... jetzt brauche ich nur noch den Filter, damit er mir den "Datensatz" für den 01.01.2021 mit der Schicht1 und dem TeamA rausfiltert. Dann lassen sich die Daten doch ganz gut einspielen...
Kannst Du mir helfen, die Daten in ein ExtraArray zu filtern?
Anzeige
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 16:00:46
Daniel
Hi
was genau meinst du mit "filtern"?
bei Arrays kann man problemlos mit Schleifen arbeiten, dh man läuft mit einer Schleife über die Array-Indizes und überträgt das was man haben will ins neue Array.
Gruß Daniel
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 16:51:34
Andreas
Damit meine ich, dass ich hinterher im neuen Array njr noch die Daten eines Tages einer Schicht habe. Am besten vl durch den Input Abfrage - welcher Tag - welche Schicht und dann gibt er mir die treffenden 10 Zeilen zurück, die zu Datum und Schicht gehören
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 16:59:52
Daniel
naja, schrieb ich doch:
Schleife über das große Array
Abfragen, ob Bedingung erfüllt ist.
Werte dieser Zeile ins neue Array schreiben
Zeilenzähler fürs neue Array um 1 erhöhen.
Gruß Daniel
Anzeige
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 17:06:11
Helge
Und genau das ist ja mein Problem... kannst du das auf meinen Fall vielleicht transformieren. Ich weiss leider nicht, wie ich da ansetzen soll...
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 18:54:18
Daniel
Helge/Andreas, ich bin verwirrt.
kannst du deine Frage mal präzisieren?
ehrlich gesagt, ich sehe mich bei dem Projektumfang schon an der Grenze was die Kostenfreie Nachbarschaftshilfe, wie sie hier im Forum üblich ist, angeht.
einen VBA-Kurs gibts hier nicht. Wenn du sowas für deine Firma programmieren willst, solltest du einen richtigen VBA-Kurs machen und deine Firma sollte dir das auch zahlen.
Gruß Daniel
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 20:04:25
Helge
Es ist nicht für eine Firma, da würde ich sicherlich nicht so viel Energie in das Projekt stecken. Es geht vielmehr um eine Einsatzplanung für ehrenamtliche Helfer ..bzw eine Hilfe, die u.a. auch im aktuellen Hochwassergebiet aus den Schuhen gestampft wurde. Danke trotzdem für Tipps, wird schon irgendwie klappen.
Anzeige
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 20:31:09
Andreas
Und das mit dem Helge... keine AHnung warum das immer kommt. Da steht auch noch mehr als Helge... passiert immer, wenn ich vom PC schreibe.
AW: Nicht genügen Speicher - 2 Teil
09.08.2021 21:58:16
Daniel
Also wie gesagt, wenns schnell gehen soll und deine Exceltavellen genau so aufgebaut sind wie die Anzeige in der Userform, würde ich direkt im Tabellenblatt arbeiten (was dir auch erlaubt, mehrere Zellen gleichzeitig zu bearbeiten) und die Userform dazu nutzen, gezielt den Tabellenbereich für Tag, Schicht und Uhrzeit in den Blickpunkt zu rücken, der Bearbeitet werden soll und alles andere auszublenden, damit der Anwender nicht lange suchen muss.
Dürfte das einfachste sein.
Alles andere wird kompliziert, da du meiner Ansicht nach hier sogar dein vierdimensionales Speicherarray brauchst (Mitarbeiter, Zeit, Schicht, Tag), das wird nicht so ganz einfach sein auf die schnelle zu erstellen, zumal du das ganze auch soweit verstehen solltest, das du das im Zweifelsfall selber pflegen und korrigieren kannst.
Gruß Daniel
Anzeige
AW: Nicht genügen Speicher - 2 Teil
11.08.2021 17:05:16
Andreas
Damit meine ich, dass ich hinterher im neuen Array njr noch die Daten eines Tages einer Schicht habe. Am besten vl durch den Input Abfrage - welcher Tag - welche Schicht und dann gibt er mir die treffenden 10 Zeilen zurück, die zu Datum und Schicht gehören
AW: Nicht genügen Speicher - 2 Teil
12.08.2021 00:23:53
Daniel
Du musst mit einer Schleife über das große Array laufen und dann die Werte ins kleine Array übertragen.
das kleine Array musst du vorher entsprechend dimensionieren.
also im Prinizip so, das Datum steht im Spalte 1

redim KleinesArray(1 to 10, lbound(GroßesArray, 2) to ubound(GroßesArray, 2))
for zg = Lbound(großesArray, 1) to Ubound(großesArray, 1)
if GroßesArray(zg, 1) = gesuchtes Datum then
zk = zk + 1
for sp = lbound(großesArray, 2) to ubound(großesArray, 2)
KleinesArray(zk, sp) = GroßesArray(zg, sp)
next
end if
next
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige