AW: Breite von ComboBox
05.02.2015 11:48:37
ComboBox
Hallo Peter,
mal aus der Hilfe kopiert (soltest du eigentlich haben)
Beispiel für Listenfeld-Steuerelement sowie die Eigenschaften ColumnCount und ColumnWidths
Im folgenden Beispiel werden anhand der ColumnWidths-Eigenschaft die Spaltenbreiten in einem mehrspaltigen Listenfeld-Steuerelement (ListBox) geändert. Dabei werden drei Textfeld-Steuerelemente (TextBox) verwendet, um die einzelnen Spaltenbreiten anzugeben, und die Maßeinheiten der einzelnen Textfeld-Steuerelemente werden mit Hilfe des Exit-Ereignisses angegeben.
Wenn Sie dieses Beispiel verwenden möchten, kopieren Sie diesen Beispielcode in den Bereich Deklarationen eines Formulars. Das Formular muss Folgendes enthalten:
Ein Listenfeld-Steuerelement (ListBox) mit dem Namen ListBox1.
Drei Textfeld-Steuerelemente (TextBox) mit den Namen TextBox1, 2 und 3.
Ein Befehlsschaltfläche-Steuerelement (CommandButton) mit dem Namen CommandButton1.
Geben Sie den Wert 0 ein, um eine Spalte auszublenden.
Dim MyArray(2, 3) As String
Private Sub CommandButton1_Click()
'ColumnWidths requires a value for each column
'separated by semicolons
ListBox1.ColumnWidths = TextBox1.Text & ";" _
& TextBox2.Text & ";" & TextBox3.Text
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As _
MSForms.ReturnBoolean)
'ColumnWidths accepts points (no units), inches
'or centimeters; make inches the default
If Not (InStr(TextBox1.Text, "in") > 0 Or _
InStr(TextBox1.Text, "cm") > 0) Then
TextBox1.Text = TextBox1.Text & " in"
End If
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As _
MSForms.ReturnBoolean)
'ColumnWidths accepts points (no units), inches
'or centimeters; make inches the default
If Not (InStr(TextBox2.Text, "in") > 0 Or _
InStr(TextBox2.Text, "cm") > 0) Then
TextBox2.Text = TextBox2.Text & " in"
End If
End Sub
Private Sub TextBox3_Exit(ByVal Cancel as MSForms.ReturnBoolean)
'ColumnWidths accepts points (no units), inches or
'centimeters; make inches the default
If Not (InStr(TextBox3.Text, "in") > 0 Or _
InStr(TextBox3.Text, "cm") > 0) Then
TextBox3.Text = TextBox3.Text & " in"
End If
End Sub
Private Sub UserForm_Initialize()
Dim i, j, Rows As Single
ListBox1.ColumnCount = 3
Rows = 2
For j = 0 To ListBox1.ColumnCount - 1
For i = 0 To Rows - 1
MyArray(i, j) = "Row " & i & ", Column " & j
Next i
Next j
'Load MyArray into ListBox1
ListBox1.List() = MyArray
'1-inch columns initially
TextBox1.Text = "1 in"
TextBox2.Text = "1 in"
TextBox3.Text = "1 in"
End Sub
Gruß
yummi