Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1580to1584
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

Boolsche Werte in Listbox anders darstellen

Boolsche Werte in Listbox anders darstellen
27.09.2017 14:33:50
Erik
Liebe Gemeinde,
ich sitze gerade an einem eher ästhetischen Problem.
Ich habe in einer Tabelle bspw. fünf Spalten, wobei in der zweiten Spalte WAHR oder FALSCH steht. In den anderen Spalten stehen Zeichenketten oder Zahlen.
Ich lade diese Tabelle in ein Array, da ich noch einige Berechnungen vornehme. Anschließend lade ich das Array über die LIST-Eigenschaft in eine Listbox.
Das klappt wunderbar! Außer: Die boolschen Werte werden bedauerlicherweise in 0 (FALSCH) und -1 (WAHR) dargestellt. Das Array ist als Variant-Datenfeld dimensioniert.
Ich würde es gern irgendwie hinbekommen, dass 0 und -1 entweder als WAHR und FALSCH oder als JA und NEIN dargestellt werden.
Ich habe das Array durchlaufen und alle Werte von 0 und -1 ersetzen lassen, aber leider fügt er dann in leere Zellen FALSCH/NEIN ein, obwohl diese Angaben dort keinen Sinn ergeben.
Ich hatte überlegt, die Spaltenindizes mitzugeben, damit die Ersetzungen auch nur in den Spalten stattfinden, wo boolsche Werte erwartet werden. Aber das ist leider auch nicht so richtig praktikabel, da ich mehrere verschieden strukturierte Tabellen habe.
Ich würde mich sehr über einen Tipp oder einen Lösungsvorschlag von euch freuen.
Grüße
Erik

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Boolsche Werte in Listbox anders darstellen
27.09.2017 16:09:19
ChrisL
Hi Erik
"Leer" wird ja auch als "leer" ins Array bzw. die Listbox übertragen.
Ich schätze es liegt an deiner If-Abfrage z.B.
If wert = "" Then
MsgBox "leer"
ElseIf wert = True Then
MsgBox "wahr"
ElseIf wert = False Then
MsgBox "falsch"
Else
MsgBox "anderer Text"
End If
cu
Chris
AW: Boolsche Werte in Listbox anders darstellen
27.09.2017 19:21:43
Luschi
Hallo Erik,
die Wahrheitswerte werden von der ListBox in deren mathematischen Wert umgewandelt.
Dagegen kann man nichts tun, außer im Array die Wahrheitswerte gegen Text auszutauschen.
Bei mir stehen im Bereich 'B2:C18' in der Spalte 'C' neben Text, Zahlen, Formeln auch WAHR oder FALSCH.
So tausche ich die Wahrheitswerte in den Text 'Wahr' oder 'Falsch' um:

Sub MachMal()
Dim v, i As Integer
v = Range("B2:C18")
For i = 1 To UBound(v)
If VarType(v(i, 2)) = vbBoolean Then
v(i, 2) = IIf(v(i, 2), "Wahr", "Falsch")
End If
Next i
Me.ListBox1.List = v
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Boolsche Werte in Listbox anders darstellen
27.09.2017 20:47:59
Erik
Lieber Luschi, lieber Chris,
ich danke euch für die Hinweise. Auf Idee, den Datentyp zu prüfen... boah, das ist ja sowas von offensichtlich...
Danke euch!
Grüße aus Dresden
Erik

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige