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

Listbox Formate

Listbox Formate
29.12.2022 22:22:12
Guesa
Hallo Forum
Auf die letzten Tage wälze ich ein Listbox-Format Problem, Folgendes
Sobald ich in unten stehende Datei im Suchfeld (Userform) Text eingebe werden in der Listbox1 keine Währungsformate mehr angezeigt.
Ich sitze da jetzt den ganzen lieben Tag dran und kriege das einfach nicht hin
Letzte Hoffnung, Das Forum, würde mich sehr freuen wenn Ihr da mal rein guckt und mir dabei helfen würdet
Schon mal ein Dankeschön
Gruß, Guesa
https://www.herber.de/bbs/user/157001.xlsm

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Formate
29.12.2022 22:38:32
ralf_b
und was denkst du woran es liegt?
Du hast doch einen Verdacht oder?
AW: Listbox Formate
29.12.2022 22:56:01
Guesa
Hallo Ralf
Keine Ahnung habe schon einiges ausprobiert. Sehr wahrscheinlich liegt es an Row Source und die Verbindung zum Suchcode?
Die Datenmaske, die du sehr wahrscheinlich meinst :-) funktioniert mittlerweile, hat lange gedauert aber geht. Nur halt mit den Formatierungen,
die ich eigentlich bis jetzt nicht gebraucht habe, hapert es noch.
Aber wenn du schon sooo fragst, weist du doch bestimmt was verkehrt läuft oder was ich nicht beachtet habe oder?
Gruß, Guesa
AW: Listbox Formate
29.12.2022 23:19:07
ralf_b
hier wird das Ergebnisarray gefüllt (spaltenweise)

For lngSpalte = 1 To lngSpalteMax
VarErg(lngZ, lngSpalte) = VarDat(lngZeile, lngSpalte)
Next lngSpalte
und hier wird es in die Listbox geschrieben.

Me.ListBox1.List = VarErg
Somit ist klar wo hier etwas angepasst werden müßte. Oder ?
im Array sind die Datentypen korrekt hinterlegt und lassen sich abfragen. Dann nur noch den Zahlenwert als Currency formatieren und ab ins ErgebnisArray.
z.b.

VarErg(lngZ, lngSpalte) = IIf(TypeName(VarDat(lngZeile, lngSpalte)) = "Currency", Format(VarDat(lngZeile, lngSpalte), "currency"), VarDat(lngZeile, lngSpalte))

Anzeige
AW: Listbox Formate
29.12.2022 23:23:32
onur
Wird wohl so nicht funktionieren, da VarDat nur Zahlen enthält und keinen Range.
AW: Listbox Formate
29.12.2022 23:28:11
Guesa
Hallo Ralf
Danke Dir, Du hast mir den morgigen Tag gerettet.
Dauert halt mit dem lernen, und der jüngste bin ich auch nicht mehr
Gruß, Guesa
AW: Listbox Formate
29.12.2022 23:32:08
onur
Sorry, Ralf, funktioniert auch.
AW: Listbox Formate
29.12.2022 23:15:55
onur
Kein Wunder, beim Starten der Userform übergibst du der Listbox einen Bereich - also inkl Formatierung.
Wenn du aber in die Textbox was eingibst, wird mittels eines Variablen-Arrays dieser Bereich gefiltert und du übergibst diesen Bereich.
Ein Array kann aber, im Gegensatz zu einer Range, keine Formatierung beinhalten, nur Werte.
Die Formatierung musst du noch hinzufügen, indem du das Array Dat als Range speicherst und dem Array Erg dessen TEXT übergibst.
Wenn du eine formatierte Zahl als Range("A1").Text übergibst, wird sie so übernommen, wie sie in der Zelle erscheint - also inkl Formatierung als Datum, Währung usw.
Guckst du hier:
https://www.herber.de/bbs/user/157002.xlsm
Übrigens: die "ungarische Notation" (der Quatsch mit LngZeile, VarDat, IntZeile usw) ist eine Unsitte, die irgendwelche Lehrbuchautoren eingeführt haben, um Anfänger durch ellenlange Variablennamen zu verwirren. Als ob Derjenige, der die Variablen oben dimensiort hatte, weiter unten im Code nicht mehr wüsste, als was er sie dimensioniert hatte.
Und
Dim a as Variant
ist überflüssig, denn wenn du "as Irgendwas" weglässt, wird a automatisch als Variant dimensioniert.
Anzeige
AW: Listbox Formate
29.12.2022 23:39:09
Guesa
Hallo Onur
Danke für die Hilfe, da werde ich mich bei Zeiten durchkämpfen.
Habe den Code-Schnipsel von Ralf ausprobiert, funktioniert.
Gruß, Guesa
AW: Listbox Formate
30.12.2022 10:03:06
Alwin
Hallo Guesa,
ich habs mal 'n bissel aufgeräumt.
eigentlich kann man auch die RowSource rausnehmen und über ein Array und Formatierung der Spalten 5 bis 8 die Listbox laden.
https://www.herber.de/bbs/user/157004.xlsm
Gruß Uwe
AW: Listbox Formate
30.12.2022 12:17:18
Guesa
Hallo Uwe
Erst mal Danke für Deine Mühe, das Problem was ich immer bei unseren Dateien hatte, ist die Anzahl der Spalten, und die gehen
meistens über 12 hinaus. Auch bei dieser Datei wird sich die Spaltenanzahl noch erhöhen.
Und wenn ich richtig informiert bin ist sind beim normalen einlesen einer Listbox nicht mehr als 9 Spalten erlaubt.
Also bin ich quasi auf RowSource hängen geblieben :-). Ich werde mich mit Deiner Lösung natürlich beschäftigen, wenn halt nur 9 Spalten gebraucht werden.
Habe mal kurz rein geguckt und sieht nicht so kompliziert aus wie bei mir.
Gruß, Guesa
und einen guten Rutsch
Anzeige
AW: Listbox Formate
30.12.2022 13:02:35
Alwin
Hallo Guesa,
ich hatte gar nicht gadacht dass da noch jemand drauf reagiert. Um mehr als 10 Spalten in Listboxen hinzubekommen geht das mit .List und nicht nur .RowSource.
Das hatte ich ja bereits mit Einlesen via Array angedeudet.
Die Fixierung von Spalte 5 bis 8 hatte ich natürlich wegen der Vorgabe gemacht. Ralf hat allerdings, recht was die Formatierung der € Wert in den Spalten betrifft.
Gruß Uwe
AW: Listbox Formate
30.12.2022 11:15:53
ralf_b
Da will ich mich mal nicht lumpen lassen. Schau mal drüber.
https://www.herber.de/bbs/user/157008.xlsm
der Nachteil bei Alwins Lösung ist die Fixierung der Spalten ab Spalte 4 auf Currency Format.
Kommt noch eine Spalte hinzu, wird das auch ein Währungsformat.
Ich hab das jetzt mal übernommen. Is ja auch erstmal egal.
Aber grundsätzlich sind die Währungen als Textbestandteil doch eher hinderlich.
Reicht es dir nicht das du im Spaltenkopf die Währung erwähnst und die Zahlenwerte läßt wie sie sind?
Anzeige
AW: Listbox Formate
30.12.2022 14:01:10
Guesa
Hallo Ralf
Auch Dir noch mal ein Danke für die Mühe
Natürlich hast du recht das diese Formatierung eher ein Luxusproblem ist, und wie gesagt, brauchte ich diese auch bisher nicht.
In diesem Fall sollte das "Auge mit essen"
Und ehrlich gesagt übersteigen solche Funktionen und Code´s auch meinen Geist, ich bin froh das solche Leute wie Du, Uwe, Onur, Nepumuk
und die vielen anderen sich hier im Forum so engagieren, damit Anwender wie ich ihre Laien-Projekte umsetzen können.
Das soll nicht heißen das ich mich nicht mit den Hilfen auseinander setze, nur irgendwann macht der Kopf nicht mehr so richtig mit :-)
Gruß, Guesa und einen guten Rutsch in´s neue Jahr
Anzeige
AW: Listbox Formate
30.12.2022 15:30:18
ralf_b
ok, wenn der Kopf nicht mehr mitmacht, kann das nur daran liegen, das du die Zusammenhänge noch nicht erkennst.
Ich erkläre die Änderungen in meiner letzten Datei
im Initialize wird die Funktion filterLBx aufgerufen. Dieser wird der Datenbereich und ein optionales Argument (suchwort) übergeben.
In der Funktion wird entweder gefiltert oder nicht.
Ein Array habe ich umgedreht also Zeile und Spalte vertauscht damit ich nicht später nochmal transponieren(Array umdrehen) muß.
die Funktion gibt ein Array an die Listbox zurück. Durch das Vertauschen weise ich es aber nicht der List zu, sondern der Column. Dann paßt es dann wieder.
Zurück im Initialize wird der Listindex auf den ersten Wert gesetzt, sofern vorhanden.
Diese Aktion löst ein Click_Event aus.
Im Clickevent wird ein Makro aufgerufen, das die Textboxen füllt.
Diesem Mako wird ein Parameter übergeben und zwar der Listindex aus der Listbox.
Somit hat das Stückchen Code alles was es braucht, um die Textboxen aus der Listboxzeile zu füllen.
Textbox19_Change
hier wird wieder die Filterfunktion aufgerufen. Diesmal aber mit dem Suchwort. Ist das Suchwort leer, wird das ganze Array in die Listbox geschrieben. So wie beim initialize.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige