Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Listbox auf UserForm | Herbers Excel-Forum


Betrifft: Listbox auf UserForm von: Gunter
Geschrieben am: 03.12.2009 18:18:58

Hallo Zusammen,

ich habe auf einer UserForm eine Listbox welche in der Grösse nicht geändert werden darf. Daher möchte ich, dass die Schriftgrösse sich automatisch an die Listbox anpasst.
Für zweckdienliche Hinweise herzlichen Dank.

Gruss
Gunter

  

Betrifft: AW: Listbox auf UserForm von: Ramses
Geschrieben am: 03.12.2009 20:39:41

Hallo

Die Grösse der Listbox ändert sich doch nicht, und der Benutzer kann das ja auch nicht.
Also wozu die Schriftgrösse per VBA anpassen ?
Stell doch die Grösse einfach ein ?

Gruss Rainer


  

Betrifft: AW: Listbox auf UserForm von: Gunter
Geschrieben am: 03.12.2009 21:29:37

Hallo Rainer,

ich möchte das die Schriftgrösse sich automatisch anpasst, da unterschiedlich langer Text eingetragen werden kann und er sonst abgeschnitten wird.

Gruss
Gunter


  

Betrifft: ??????????? von: Ramses
Geschrieben am: 03.12.2009 21:49:19

Hallo

In eine Listbox kann kein Text eingetragen werden

Gruss Rainer


  

Betrifft: AW: ??????????? von: Gunter
Geschrieben am: 03.12.2009 22:03:23

Hallo Rainer,

die Listbox ist auf einer UserForm und wird bei der Initialisierung der UF mit Text aus der Tabelle gefüllt und dieser kann unterschiedlich lang sein. Bisher musste ich immer umständlich die Schriftgrösse im VBA Editor anpassen und das möchte ich automatisieren.

Gruss
Gunter


  

Betrifft: AW: ??????????? von: Gunter
Geschrieben am: 03.12.2009 22:24:28

Ich hab vergessen die Frage noch offen zu markieren.


  

Betrifft: Try and Error von: Ramses
Geschrieben am: 03.12.2009 23:11:17

Hallo

Da musst du schauen bei wieviel Text du welche Schriftgrösse brauchst. Automatisch geht da nichts.
Die Textlänge was dargestellt werden soll, kannst du ja vorher abfragen.
Die Textgrösse ist aber gültig für die ganze Box und nicht für einzelne Felder

Gruss Rainer


  

Betrifft: AW: Try and Error von: Gunter
Geschrieben am: 03.12.2009 23:32:49

Eigentlich hatte ich gehofft, dass das einfach geht, da ja Text in der Tabelle so formatiert werden kann, dass er sich an die Zellgrösse anpasst. Aber die Idee mit der max. Zeichenanzahl bei entsprechener Schriftgrösse und damit Bereiche definieren werde ich mal ausprobieren. Vielen Dank.

Gruss
Gunter


  

Betrifft: AW: Try and Error von: fcs
Geschrieben am: 03.12.2009 23:50:17

Hallo Gunther,

die erforderlichen Einstellungen für die Schriftgröße hängen unter anderem von der Schriftart der Listbox und der Bildschirmauflösung ab. Also wie schon von Rainer geschrieben etwas rumprobieren.

Eine andere Möglichkeit das "Abschneiden" von Text zu verhindern.

Stelle die Eigenschaften der Listbox entsprechend ein, so dass man ggf. scrollen kann um den vollständigen text zu sehen.
With 100
ColumnWidth 200 Pt

Gruß
Franz

Makrobeispiel für Userfom-Listboxeinstellung beim Aktivieren.

Private Sub UserForm_Activate()
  Dim intI As Long, MaxLength As Long
  With ListBox1
    For intI = 0 To .ListCount - 1
      If Len(.List(intI, 0)) > MaxLength Then MaxLength = Len(.List(intI, 0))
    Next
    .ColumnWidths = .Width - 5 & "Pt"
    'Beispiel für Listenbreite ca. 70
    Select Case MaxLength
      Case Is < 8
        .Font.Size = 12
      Case Is < 11
        .Font.Size = 10
      Case Is < 13
        .Font.Size = 8
      Case Else
        .Font.Size = 8
        .ColumnWidths = 200
    End Select
  End With
End Sub



Beiträge aus den Excel-Beispielen zum Thema "Listbox auf UserForm"