AW: 2 Spalten in ComboBox anzeigen
02.05.2008 09:42:00
fcs
Hallo Josef,
ich empfehle dir dringend, den Code etwas mehr zu kommentieren, damit man durchblickt was die jeweiligen Anweisungen/Codeabschnitte bewirken bzw. erreichen sollen. Du selber und Fremde finden sich da bald nicht mehr zurecht. Insbesondere auch dadurch, dass du den Steuerelementen nicht immer aussagekräftige Namen gegeben hast.
Die nachfolgenden Anpassungen muss du machen, damit die Inhate der Spalten F und G in der Combobox subNamen5 2-spaltig gelistet werden und dabei alle Folgeaktionen weiterhin vom Inhalt der Spalte G abhängig sind.
Ich kenne deine deaktivierte Subroutine "Sortieren_CboN5" nicht, mit der du Combolisten-Inhalte sortierst. Für mehrspaltige Auswahllisten muss du ggf. eine andere Prozedur anwenden. Hier im Forum gibt es Lösungen dafür, hab aber keinen Link griffbereit.
Gruß
Franz
Im Userform-Editor folgende Eigenschaften der Combobox subNamen5 anpassen:
BoundColumn: 2
ColumnCount:2
ColumnsWidths: 42,5 Pt;283,45 Pt ____oder andere passende Werte
TextColumn: 2
Folgende Prozedur des Userforms muss du anpassen:
Private Sub subNamen5_Enter()
Dim aRow, iRow As Long
'Dim wks As Worksheet
' Dim lCoBo As Long
'Set wks = Workbooks("Test_300408.xls").Worksheets("SUBKAPITEL")
Dim col As New Collection
subNamen5.Clear
'With subNamen5
' .Clear ' löschen ComboBox
' .ColumnCount = 2 ' drei Spalten
' .ColumnWidths = "1,5 cm;10 cm" ' Breite der Spalten
' .ListRows = 12 ' angezeigte Zeilen
'.Height = 20 ' Höhe der ComboBox
'.Font.Size = 8 ' Schriftgröße
' .BackColor = RGB(204, 255, 204) ' Hintergrundfarbe
'End With
aRow = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 2 To aRow
'With wks
If Cells(iRow, 4) = subNamen6 Then
col.Add Cells(iRow, 1), Cells(iRow, 7)
If Err = 0 Then
With Me.subNamen5 '###fcs20080502
.AddItem Cells(iRow, 6) 'Kapitelnummer ###fcs20080502
.List(.ListCount - 1, 1) = Cells(iRow, 7) 'Kapitelname ###fcs20080502
End With '###fcs20080502
Else
Err.Clear
End If
End If
'End With
Next iRow
On Error GoTo 0
'Call Sortieren_CboN5
End Sub