Combobox und Texte schreiben

Hallo,

ich habe eine Combobox x, welche ich mit Daten gefüllt habe (kein Problem). Diese Combobox hat jedoch zwei Spalten. In der ersten Spalte steht eine 3stellige Zahl, in der zweiten Stelle ein Wort.

Wenn ich nun in der Combobox (bei Laufzeit) diese Zahl eintippe zeigt er mir entsprechende Vorschläge an (wie bekannt sein dürfte :smile: ). Er zeigt mir jedoch NUR die Zahl an (auch beim Verlassen der Combobox.

Wie kann ich erreichen dass er mir beim Verlassen entweder beides anzeigt (Zahl und Wort) oder nur das Wort?

Wenn ich jedoch ein Wort aus der zweiten Spalte eintippe bringt er diesen Effekt nicht und er zeigt mir auch keine Ergebnisse zu dem Wort.

Wie kann ich erreichen dass ich auch Worte eintippen kann [und er findet sie als Eintrag] welche in der Spalte 2 (VBA: 1) stehen?

Bei Rückfragen: einfach tun :smile:

Ich habe übrigens Word 2007.

LG Tobi@s

Hallo Tobi@s,

Wenn ich nun in der Combobox (bei Laufzeit)

zur Laufzeit heißt sie steht in einer UF?

diese Zahl eintippe

„eintippe“? okay geht auch, an sich dachte ich so eine Combobox ist zum Auswählen gedacht grad um Schreibfehler beim Eintippen auszuschließen.

Ich hab die Code gebastelt. Ich nehme an wenn du da was eintippselt wird er wohl abstürzen :smile:
Ansonsten bei Auswahl klappte er in Excel 2000. ComboBox in Tabelle1, Code in deren Modul.
Die Daten für die Combobox werden in tabelle2 A:B erwartet.

Wie kann ich erreichen dass er mir beim Verlassen entweder
beides anzeigt (Zahl und Wort) oder nur das Wort?

Probiere halt mal:

Option Explicit

Private Sub ComboBox1\_Change()
Static Nein As Boolean
Nein = Not Nein
With ComboBox1
 If Nein = True Then Exit Sub
 '.Value = .List(.ListIndex, 1)
 .Value = .List(.ListIndex, 0) & " " & .List(.ListIndex, 1)
End With
End Sub

Private Sub Worksheet\_Activate()
Dim i%
With Worksheets(1).ComboBox1
 .Clear
 .ColumnCount = 2
 .ColumnWidths = "70;20"
 For i = 1 To Worksheets(2).UsedRange.Rows.Count
 If Worksheets(2).Cells(i, 1) "" Then
 .AddItem Worksheets(2).Cells(i, 1)
 .List(Worksheets(1).ComboBox1.ListCount - 1, 1) = Worksheets(2).Cells(i, 2)
 Else
 'nix
 End If
 Next i
 .ListIndex = 0
End With
End Sub

*aaargs* seh eben erst du sprichst von Word :frowning:((

Kriegste es hin den Code umzuschreiben auf Word?
Wenn nicht lad mal eine Beispiel docm hoch mit file upload o.ä., s. FAQ:2606

Gruß
Reinhard

Hallo Reinhard,

danke für den Code. Der Schlüssel war für mich ja dass man beide Texte (Spalte 0 und Spalte 1) einfach zusammenfügen muss und dann dem .Value wieder zuweisen muss. Da hat es bei mir gehangen :smile:

LG
Tobi@s