Herbers Excel-Forum - das Archiv

Userform-Listbox

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox UserForm
Bild

Betrifft: Userform-Listbox
von: Max
Geschrieben am: 03.10.2003 09:44:45
Hallo an alle Spezialisten,
Eine Userform-Listbox wird mit Daten gefüllt, die in 3 Spalten des Tabellenblattes stehen. Die Anzeige der Userform ist aber nicht zufriedenstellend, weil lange Wörter bzw. Sätze aus Spalte 1 "abgeschnitten" werden.

Beispiel:
*********** Verben und Verbzusammensetzungen

ist nur mehr lesbar als:

*********** Verben und Verbz

Eine zusätzliche Darstellung meines Problems bietet diese Abbildung:

mit freundlichen Grüßen,
Max

Bild

Betrifft: AW: Userform-Listbox
von: Hajo_Zi
Geschrieben am: 03.10.2003 09:49:28
Hallo Max

Deine Wörter sind bestimmt über 3 Spalten zentriert und das kann die Listbox nicht darstellen.

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Bild

Betrifft: AW: Userform-Listbox
von: Max
Geschrieben am: 03.10.2003 09:57:03
Danke Hajo,
aber in meiner Tabelle, die eingelesen wird in die Listbox gibt es keine Zentrierungen oder Verbindungen in den betroffenen Zellen.
mfG
Max
Bild

Betrifft: AW: Userform-Listbox
von: Hajo_Zi
Geschrieben am: 03.10.2003 10:02:25
Hallo max

dann mach es so wie ans es geschrieben hat. Mache die Spalte breiter.

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Bild

Betrifft: AW: Userform-Listbox
von: Hans W. Herber
Geschrieben am: 03.10.2003 09:51:16
Hallo Max,

die ListBox hat eine Eigenschaft ColumnWidths, bei der Du die Spaltengröße bestimmen kannst. Um nähere Informationen zu bekommen, setze den Cursor auf ColumnWidths und drück F1.

gruss hans
Bild

Betrifft: AW: Userform-Listbox
von: Max
Geschrieben am: 03.10.2003 10:03:59
Hallo Hans,
Die Eigenschaft Columnwidth kenn ich schon, aber damit wird mein Problem nicht gelöst:
wenn ich Spalte 1 so breit mache, wird die Userform unübersichtlich und unattraktiv.
Spalte 1 ist 130Pt.
Spalte 2 ist 1Pt. (kein Schreibfehler, sie ist eine leere Spalte)
Spalte 3 ist 250 Pt.
so ist das von mir festgelegt: lstValues.ColumnWidths = "130;1;250"

Das Problem ist aber der "abgeschnittene" Text aus Spalte 1,

mfG
Max
Bild

Betrifft: AW: Userform-Listbox
von: Hans W. Herber
Geschrieben am: 03.10.2003 10:08:44
Hallo Max,

dann kann ich es mir nur so erklären, dass die von Dir angegebenen Spaltenbreiten im Widerspruch zu der Breite der ListBox stehen, bitte überprüfen.

gruss hans
Bild

Betrifft: AW: Userform-Listbox
von: Max
Geschrieben am: 03.10.2003 10:15:40
Hallo Hans,
Ich kann da aber keinen Widerspruck erkennen:
Wenn die Listbox-width mit 340 Pt. festgelegt ist, und ich meine Spalten mit width ColumnWidths = "130;1;250" einstelle, so ist das zwar eine Überschreitung meiner 340 Pt.,
aber dafür stellt mir die UserForm bei der Anzeige einen Laufbalken zur Verügung, mit dem ich dann weiter nach rechts rollen kann, siehe meine Abbildung eingangs.

mfG
Max
Bild

Betrifft: AW: Userform-Listbox
von: Hans W. Herber
Geschrieben am: 03.10.2003 10:21:15
Hallo Max,

genau das ist der Widerspruch. Bei der ColumnWidths-Anweisung wird die Scroll-Möglichkeit nicht berücksichtigt.

gruss hans
Bild

Betrifft: AW: Userform-Listbox
von: Max
Geschrieben am: 03.10.2003 10:25:39
Hallo Hans,
Muß sagen: leider! Habe die ColumnWidths auf 400 Pt. gestellt, aber mein Text aus Spalte 1 wird weiterhin abgeschnitten.

mfG
Max
Bild

Betrifft: AW: Userform-Listbox
von: Hans W. Herber
Geschrieben am: 03.10.2003 10:31:11
Hallo Max,

da es sich ja nicht um allzu sensible Daten handelt, solltest Du die Datei entweder auf den Server stellen oder mir zumailen. Ich seh mir das Viech mal an.

gruss hans
Bild

Betrifft: AW: Userform-Listbox
von: Max
Geschrieben am: 03.10.2003 11:37:34
Hallo Hans,
bitte sehr, hier ist die Datei
https://www.herber.de/bbs/user/1275.xls

allerdings läßt sich die Userform zZ gar nicht aufrufen, bitte probier mal,
ich kann die Ursache einfach nicht feststellen ...
Laufzeitfehler 380 usw.

mfG
Max
Bild

Betrifft: AW: Userform-Listbox
von: Hans W. Herber
Geschrieben am: 03.10.2003 11:58:46
Hallo Max,

nach meinem Eindruck werden die ColumnWidth-Einstellungen korrekt übernommen. Geht die Gesamtanzahl der Points über die Breite der ListBox hinaus bzw. ist gleich, erscheint der horizontale Scrollbalken, sonst nicht. Möglicherweise musst du, da vermutlich eine proportionale Angleichung erfolgt, etwas rumexperimentieren.

gruss hans
Bild

Betrifft: AW: Userform-Listbox
von: Hajo_Zi
Geschrieben am: 03.10.2003 12:00:43
Hallo Max

ändere Deinen Code wie folgt.
Option Explicit

Private Sub cmdCancel_Click()
Unload Me
End Sub


Private Sub UserForm_Initialize()
Dim wksL As Worksheet
With ThisWorkbook.Worksheets("Leo")
'   lstValues.List = wksL.Range("F14:I23").Value
Dim arr() As Variant
Dim iRowL As Integer, iRow As Integer, iCol As Integer, iRowU As Integer
lstValues.ColumnWidths = "130;0;250"
lstValues.Clear     ' warum Clear, Ini. wird nur beim ersten Start der UF augeführt
iRowL = WorksheetFunction.CountA(.Columns(7))
For iRow = 12 To iRowL + 12
If Not IsEmpty(.Cells(iRow, 7)) Then
ReDim Preserve arr(0 To 2, 0 To iRowU)
arr(0, iRowU) = .Cells(iRow, 7)
arr(1, iRowU) = .Cells(iRow, 8)
arr(2, iRowU) = .Cells(iRow, 9)
iRowU = iRowU + 1
End If
Next iRow
lstValues.Column = arr
End With
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Bild

Betrifft: AW: Userform-Listbox
von: Max
Geschrieben am: 03.10.2003 12:17:59
Hallo Hajo,
Aber nach wie vor werden Texte "abgeschnitten", das ist doch meine eigentliche Frage.
Wenn ich in Spalte 1 meiner Tabelle stehen habe:

*********** Zusammengesetzte Einträge
jedoch in meiner mehrspaltigen UserForm-Listbox nur mehr zu lesen ist:
*********** Zusammengesetzte Eint
dann wurde hier was "abgeschnitten" nämlich «räge»

mfG
Max
Bild

Betrifft: AW: Userform-Listbox
von: Hajo_Zi
Geschrieben am: 03.10.2003 12:19:59
Hallo Max

ich bezog mich nur auf den Text das die Userform nicht läuft. Zu Deinem Problem kann ich nichtts anderes schreiben als bisher. Den Text den Du in die Spalte schreiben willst ist zu breit für die erste Spalte.

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

 Bild
Excel-Beispiele zum Thema " Userform-Listbox"
Matrix in UserForm-ListBox einlesen Bereichsnamen in UserForm-ListBox auflisten und editieren
Ausgewählte Werte aus UserForm-ListBoxes addieren Mehrfachauswahl aus UserForm-ListBoxes in Tabelle eintragen
Gruppe von UserForm-ListBoxes über eine Schleife ansprechen Zellen für Eintrag auswählen und UserForm-ListBox aufrufen
Einlesen von Spaltenköpfen in UserForm-ListBox Spalten ein-/ausblenden nach UserForm-ListBox-Vorgabe
Mehrspaltige UserForm-ListBox lückenlos füllen Aus mehrspaltiger UserForm-ListBox Werte der 1. Spalte auslesen