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

Farbe und Sortierung

Farbe und Sortierung
11.02.2021 07:48:43
DJ
Hallo zusammen,
bin VBA Anfänger, aber hab so einiges halbwegs hinbekommen. Sicher gibt es für einige Sachen schönere Umsetzungen.
hier mein Projekt:
https://www.herber.de/bbs/user/143810.xlsm
Nun folgendes:
Ich würde gerne im Userform aus der Liste einen Eintrag wählen, diesen dann über checkbox anklicken z.B. in Rot färben. Wichtig wäre das er im Tabellenblatt den Eintrag färbt damit der bei der Ausgabe auch so ins PDF etc. kommt. Wenn der Eintrag auch im Userform einzufärben geht wäre das natürlich genial.
Mein 2. Problem:
Ich habe es jetzt endlich geschafft in der Listbox die Uhrzeit richtig anzuzeigen, allerdings würde ich gerne die Listbox noch nach Spalte Datum und Uhrzeit sortieren. Der Versuch alles in eine Hilfstabelle zu schreiben und wieder einzulesen scheiterte, da dann meine Uhrzeitformatierung wieder weg ist und ich 0,... irgendwas angezeigt bekomme.
Vielleicht hat ja jemand Lust und Laune mir mal unter die Arme zu greifen.
Liebe Grüße Chris

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbe und Sortierung
11.02.2021 09:27:46
MCO
Hallo Chris!
Da hast du dir ja ganz schön was gebastelt :-)
Das Initiate und activate-ereignis macht bei Dir das Gleiche, daher hab ich das mal ausgeblendet.
Einträge Färben klappt jetzt im Dokument.
Problem 2 hab ich auch gelöst, allerdings musst du etwas umdenken: Der Eintrag 15.12. ist für Excel kein Datum, daher muss es vollständig sein.
Für Sortierung hab ich das jahr hinzugefügt, und in einer Hilfsspalte Datum + Uhrzeit kombiniert. Doppelte Einträge am Tag unterscheiden sich jetzt durch die Uhrzeit. Dahinter hab ich eine Formel mit "RANG" gepackt, die eine Sortierung aufzeigt.
Die Hilfsspalte kannst du die aber schon sparen, wenn du vorn ein ordentliches Datum + Uhrzeit einträgst. Mit der Formatierung kannst du es immer noch wie "15.12." aussehen lassen und daneben das gleiche mit der Uhrzeit tun.
https://www.herber.de/bbs/user/143811.xlsm
Viel Erfolg!
Gruß, MCO
Anzeige
AW: Farbe und Sortierung
11.02.2021 10:01:24
DJ
Hey MCO,
vielen Dank schonmal bis hierhin, aber wenn ich die Eingabemaske öffne ist die jetzt leer? Vielleicht doch zu viel auskommentiert?
Bin grad überfordert.
Gruß Chris
2te Meinung: Kein Listbox-Inhalt?
11.02.2021 10:51:25
MCO
Hallo Chris,
Das weiß ich jetzt grad auch nicht.
Bei mir sind alle Zeilen sofort aufgelistet, wie gewohnt.
Vielleicht kann sonst jemand mal einen Blick drauf werfen?
Gruß, MCO
AW: 2te Meinung: Kein Listbox-Inhalt?
11.02.2021 14:40:03
ralf_b
Hallo Chris,
dann hast du den Code nicht selbst geschrieben? Denn sonst könntest du doch sehen warum die Listbox leer bleibt. Hier mal meine Lösung. Sicher noch nicht 100%ig aber es geht wenigstens.
Ich habe viel redundanten Code ausgelagert und somit mehr Übersicht in die Abläufe gebracht. Eine Anmerkung wäre da trotzdem noch. Die Tabelle1 wird in die Listbox eingelesen. Dann stehen dort die Daten zur Bearbeitung zur Verfügung. Warum muß jedesmal auf die Tabelle geschaut werden um die ZeilenNr zu ermitteln? z.b. um die Textboxen zu füllen. Das geht doch auch direkt aus der Listbox. Ich habe das aber so gelassen wie du es angefangen hattest.
Zum füllen der Listbox gibt es zwei Routinen eine, die einfach die Tabelle der Listbox zuweist und eine die die Werte sortiert einließt. Welche du nun nutzt, ist deine Sache.
Als allgemeine Info. Wenn du Wertevon Corntols veränderst ,dann löst das auch ein Event aus. Somit muß du nicht bei jeder Aktion z.b. die Listbox neu einlesen. Das geschieht teilweise auch automatisch wenn im entsprechenden Event der Code dafür hinterlegt ist. zb. Listbox.ListIndex = 0 löst das Listbox_click Event aus. Und dort passiert ja schon wieder einiges.
Alles ohne Garantie. Testen liegt bei dir.
https://www.herber.de/bbs/user/143824.xlsm
gruß
rb
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
11.02.2021 16:05:59
DJ
Hallo rb,
da muß ich mich jetzt erst mal durchkämpfen. Sieht alles weng anders aus :-)
Hätte noch 2-3 kleien Fragen:
Wenn ich in der Userform einem Eintrag nschträglich eine Uhrzeit gebe wird die Listbox beim Speichern nicht aktualisiert und nicht sortiert. Beim Sortieren ist mir noch aufgefallen das die Sätze ohne Uhrzeit falsch sortiert sind. Es sollte nach Datum sortiert sein und dann erst die ohne Uhrzeit und dann die mit Uhrzeit aufsteigend, wenn das irgendwie geht.
Das mit dem Färben ist auch noch ausbaufähig. Wäre cool wenn man das pro Satz angeben kann. Meint, wenn ich in der Listbox einen Eintrag wähle zeigt er mir an ob dieser Farbig eingestellt ist oder nicht. Momentan wird über die Checkbox in der Tabelle der HG gefärbt, was an und für sich schon mal nicht schlecht ist, nur müsste ich das in der UserForm sehen.
Vielleicht kannst mich ja noch weng unterstützen. Du hast richtig bemerkt, ichg habe das nicht wirklich selbst programmiert. hab mir aus vielen vielen Beiträgen und Beispielen entsprechende Daten geholt und versucht irgendwie anzupassen. Habe jetzt aber auch begonnen einen OnlineKurs VBA zu machen. Leider stehe ich noch ziemlich am Anfang.
Danke schon mal.
Gruß Chris
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
11.02.2021 16:27:07
ralf_b
Wenn ich in der Userform einem Eintrag nachträglich eine Uhrzeit gebe wird die Listbox beim Speichern nicht aktualisiert und nicht sortiert.
speichern schreibt nur die Daten in die Tabelle. es besteht keine direkte Verbindung von Listenwerten und Tabellenwerten. Dafür hätte man mit .rowsource arbeiten können. Aber dann müßte die Programmierung komplett umgestellt werden.
Call Listboxfuellen nach dem call datenschreiben einfügen.

Das mit dem Färben ist auch noch ausbaufähig.

Ich habe nichts an Farbe gebastelt. Entweder du arbeitest in der Userform oder der Tabelle. Beides macht wenig Sinn, finde ich. Wofür soll diese Färbung sein? Welche Information soll dadurch transportiert werden?
gruß
rb
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 07:29:47
DJ
Hallo,
Hintergrund Färben: In der Userform werden Änderungen vorgenommen und die Übersicht wird dann als Email geschickt. Dort sollen die aktuellen Änderungen farbig dargestellt sein damit sofort auffällt was geändert wurde. Wäre natürlich hilfreich wenn man das in der Userform auch sehen würde, damit man bei der nächsten Änderung die Färbung entsprechend wieder wegnehmen kann.
Bei neuem Eintrag hab ich einen Satz den er gar nicht findet. ich schnalle nicht wo er den hernimmt.
Gruß Chris
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 08:18:23
ralf_b
Moin,
die Färbung wird also von Hand gesteuert. Ok. Aber aktuell gibt es keine Möglichkeit über die Userform die Färbung rauszunehmen. Ich sehe im Moment keine einfache Möglichkeit das Excel von sich aus merkt welche Daten sich geändert haben.
Was bei einem neuen Datensatz anlegen geschieht ist für mein Empfinden gar nicht so recht festgelegt. Wie hast du dir den Workflow dafür so gedacht?
sind sonst noch Fehler aufgetaucht?
Gruß
rb
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 09:04:53
DJ
Hi,
also, neuer Datensatz wird mit nächsthöheren ID belegt, so das die Sätze fortlaufenbde Nummern haben. Dann werden die entsprechenden Daten in den Textboxen eingetragen und in die Tabelle geschrieben.
Dann wird über die Ausgabe Tabelle alles in Form gebracht zum Druck bzw. als PDF. Das ist im Moment auch etwas Fehlerhaft, ich denke aber da fehlt erst mal eine -1 bei den Zeilen, das muß ich nochmal testen.
Die Färbungen habe ich bei mir schon erweitert (Rot,Blau,Grün,Ohne) um die Färbung auch wieder wegzunehmen. Jetzt müsste ich das so umbauen, das er nicht nur in der Tabelle färbt sondern man auch im Userform die Färbung angezeigt bekommt. Habe aber noch keinen Plan wie ich das mache.
Am Ende sollte es so sein das der User nur mit dem UserForm arbeitet, deswegen die Anzeige. Alles außer der UserForm soll ausgeblendet werden.
Gruß Chris
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 10:59:56
ralf_b
Hallo Chris,
Ich habe den Fehler mit der Zeile gefunden.
Zeigst du mir wie du die Farbänderung gelöst hast?
Ich habe für den neuen Datensatz auch eine Variante implementiert. Die basiert auf den Handling mit der ID Nr. Interesse?
gruß
rb
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 11:12:18
DJ
Hi,
hier mal mein aktueller Stand zur Färbung. Habe jetzt Färbung wegnehmen mit rein, muß aber noch sehen wie ich es Datensatzmäßig im UserForm anzeigen kann. Vieleicht mit einem leeren Textfeld das sich entsprechend mitfärbt. Ich denke in der Listbox hab ich wohl keine Chance Zeilenweise einzufärben, oder?
Eine andere Varainte wie meine interessiert mich natürlich. Bin gerne bereit dazuzulernen wenn mir jemand zeigt wie es evtl. besser geht.
https://www.herber.de/bbs/user/143849.xlsm
Gruß Chris
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 11:31:38
ralf_b
Hallo Chris,
In der Listbox färben eher nicht. Aber in der Listbox die Farbe hinterlegen schon. Ich habe es so umgesetzt, das in der Listbox die Farben als unsichtbare Spalte eingetragen werden. Möglicherweise unnötig, Denn in VBA gibt es nicht nur den Einen Weg.
Ich nutze das ID Textfeld zum Kennzeichnen. Ein paar Funktionen habe ich modifiziert und neu erstellt. Das räumt die ClickProzeduren auf.
https://www.herber.de/bbs/user/143850.xlsm
gruß
rb
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 11:50:59
DJ
Hey,
beim speichern macht er bei mir probleme mit dem IDcheck. Bei Neueintrag und auch wenn ich was geändertes speichern will.
Kannst du mir noch eine weitere checkbox machen die alle Farben rausnimmt? Wenn z.B. gestern Änderungen gemacht wurden sollen jetzt alle farben weg, damit man heutige Änderungen einfärbt. Hoffe du verstehst wie ich das meine.
Und dann müsste ich noch die Farben in das Blatt Ausgabe mit übernehemen beim kopieren, geht das?
Gruß
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 13:52:51
ralf_b
ups, das noch ein copy paste fehler
ich hab einen Resetbutton für die Farben gemacht.
die farben werden nach Ausgabe übernommen und Rahmen gibts auch.
Wird die Wunschliste noch länger?
https://www.herber.de/bbs/user/143858.xlsm
gruß
rb
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 15:50:32
Chris
Hi,
super. Danke.
Mhh...darf die Wunschliste denn noch länger werden? :-)
In der Tabelle Ausgabe, ist jetzt was anders und mir ist was verloren gegangen:
Beim Füllen ist der komplette Hintergrund jetzt weiß (also auch die Standardmäßig angezeigten blassen Rahmen sind weg)und meine bedingte Formatierung in der Tabelle greift nicht mehr. Dort wird dafür gesorgt das immer beim Wochenwechsel ein Rahmen unten gesetzt wird damit man die Wochen unterscheiden kann.
Liegt das an diesen SpecialCells?
Range("A2:I" & .UsedRange.SpecialCells(xlLastCell).Row).ClearContents
.Range("A2:I" & .UsedRange.SpecialCells(xlLastCell).Row).Interior.Color = xlNone
Noch ein Problemchen: Beim Füllen hat Tabelle 1 einen Satz der über mehrere Zeilen geht. Vorher war Ausgabe mit Zeilenumbruch formatiert und er hat es so wie in Tabelle1 übernommen. Jetzt macht er es in der Ausgabe einzeilig und der Rest ist weg.
Gruß Chris
Anzeige
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 17:49:33
ralf_b
naaaja, ich habs mir natürlich einfach gemacht, wo keine bestimmten Vorgaben waren.
zum einen die Zuweisung der reinen Werte (.value). da sind Formatierungen nicht dabei. Das ist aber auch schneller als das copy und paste einer gesamten Zeile.
Aber ich fasse nur die Farbe und den Wert an. Was die anderen Formatierungen angeht. weis ich nicht. Muß man mal von Hand setzen und sehen obs bleibt. xlnone heisst leine Hintergrundfarbe also müssen die Gitternetzlinien sichtbar sein. aber durch den Rahmen wird das überschrieben.
Wenn sich deine Wunschliste in grenzen hält, dann schau ich mal drauf. Aber du willst ja selbst auch noch was zu tun haben.
gruß
rb
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 20:11:12
Chris
Hey,
Den Fehler mit meiner bedingten Formatierung habe ich gefunden. Datumsformat hat sich geändert deshalb hat die nicht mehr gegriffen.
Hab aber hier noch ein Problem. Hab mal meine Tabelle1 leer gemacht und mit neuen Einträgen angefangen.
Ohne Eintrag hatte ich schon den ersten Fehler. Hab dann direkt in der Tabelle mal einen Eintrag gemacht, dann gings erstmal, aber wenn ich jetzt den neuen Eintrag speichern will steigt er im Sub Datenschreiben aus. Wenn ich in der List box unterhalb des letzten eintrags klicke bekomme ich ebenfalls einen Fehler. Als wären dort noch unsichtbare Sätze die er nicht will.
Mir qualmt schon der Kopf.
Gruß
AW: 2te Meinung: Kein Listbox-Inhalt?
12.02.2021 22:44:26
ralf_b
wenn du erstmal die Zusammenhänge kennst, dann lösen sich auch die Knoten im Kopf. Generell ist es doch so das man erstmal den Optimalweg programmiert und wenn dann Sonderfälle auftreten, die in Grenzbereichen auf Fehler laufen, analysiert man das und fängt es ab. Niemand kann direkt an alle Eventualitäten denken.
Ich weis nicht ob du dich schon mit Debugging beschäftigt hast. Das Anzeigenlassen von Werten zur Programmlaufzeit und das schrittweise durch den Code gehen mit F8 und Haltepunkte setzen mit F9 usw.
Arbeiten mit Lokal-,Direkt- und Überwachungsfenster. Das sind gute Werkzeuge um sich das Verhalten das Codes zu Gemüte zu führen.
Wenn die Tabelle leer ist muß das natürlich geprüft werden und der Code entsprechend gesteuert werden. Aber das mach ich jetzt nicht. Ist deine Hausaufgabe. :)
gruß
rb

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige