Combobox

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Combobox
von: erich
Geschrieben am: 25.05.2002 - 16:05:07

Hallo Profis,

kann mir jemand weiterhelfen ich komme seit tagen nicht mehr weiter.
mein Code:


Private Sub OptionButton1_Click()
ComboBox1.Clear
TextBox1.Text = ""
If OptionButton1.Value = True Then
For i = 1 To 100
ComboBox1.ColumnCount = 2
ComboBox1.TextColumn = 1
ComboBox1.AddItem Cells(i, 1)
ComboBox1.List(0, 1) = 2
TextBox1 = ComboBox1
Next i
End If
End Sub

Private Sub OptionButton2_Click()
ComboBox1.Clear
TextBox1.Text = ""
If OptionButton2.Value = True Then
For i = 1 To 100
ComboBox1.ColumnCount = 2
ComboBox1.TextColumn = 1
ComboBox1.AddItem Cells(i, 5)
ComboBox1.List(0, 1) = 2
TextBox1 = ComboBox1
Next i
End If
End Sub

Private Sub OptionButton3_Click()
ComboBox1.Clear
TextBox1.Text = ""
If OptionButton3.Value = True Then
For i = 1 To 100
ComboBox1.ColumnCount = 2
ComboBox1.TextColumn = 1
ComboBox1.AddItem Cells(i, 9)
ComboBox1.List(0, 1) = 2
TextBox1 = ComboBox1
Next i
End If
End Sub

Private Sub OptionButton4_Click()
ComboBox1.Clear
TextBox1.Text = ""
If OptionButton4.Value = True Then
For i = 1 To 100
ComboBox1.ColumnCount = 2
ComboBox1.TextColumn = 1
ComboBox1.AddItem Cells(i, 13)
ComboBox1.List(0, 1) = 2
TextBox1 = ComboBox1
Next i
End If
End Sub


jetzt zu meinen Problem:
was mus ich in die zeile (ComboBox1.List(0, 1) = 2) schreiben das nicht die 2 sondern der text aus der spalte in die Combobox geschrieben wird?
oder stimmt in meinen Code mehr nicht?
die combobox ist in einer Userform
die daten werden aus der tabelle "Typen" genommen.

für hilfe wäre ich sehr dankbar!!!


mfg
erich

nach oben   nach unten

Re: Combobox
von: Rainer
Geschrieben am: 25.05.2002 - 21:48:04

Hallo Erich!

Da sind einige Fehler drinnen, doch scheint es mir sinnvoller, wenn du kurz schilderst, was du möchtest, dann kann ich dir vielleicht besser helfen.

Den Wert einer Zelle liest du mit der Value-Eigenschaft ein:
Variable=Sheets("Tabellenname").cells(Zeile,Spalte).value

Zuweisen des Combobox-Wertes in das Textfeld
TextBox1.Value = ComboBox1.Value

Außerdem kannst du 'ColumnCount' bzw. 'TextColumn' weglassen, wenn du nicht wirklich die Eigenschaft bzw. das Format änderst.

Weiters kannst du Eigenschaften von Steuerelementen etc. bereits in der Entwicklungsumgebung beim Erstellen definieren. Schaue dazu das Eigenschaftsfenster genauer an. Hier gibst du im Grunde die Standardeigenschaften der gesamten UserForm inkl. der Steuerelemente an. Es ist nicht notwendig, Eigenschaften mittels VBA nochmals zu definieren, ausgenommen, sie sollen sich ändern.

Lieben Gruß
Rainer

nach oben   nach unten

Re: Combobox
von: erich
Geschrieben am: 25.05.2002 - 22:31:07

Hallo Rainer,
mein Aufgabe ist:
ich habe in der tabelle Typen daten von Ersatzteilen
jetzt möchte ich wenn ich in meiner Userform den optionbutton1 anklicke die daten aus der tabelle spalte A bis D in meine Combobox1 einlesen und wenn ich in der combobox1 eine auswahl getroffen habe sollen die daten in die textboxen1 bis 4 dargestelt werden.
bei den optionbutten2 spalte E bis H, optionsbutten 3 und 4 einfach in der gleichen weise weiter.
kanst du mir weiterhelfen?

mfg
erich

nach oben   nach unten

Re: Combobox
von: Rainer
Geschrieben am: 25.05.2002 - 23:59:23

Hallo Erich!

Auf die Schnelle:


Option Explicit
Dim lZeile As Long

Sub UserForm_Initialize()
    'Letzte Zeile wird bestimmt (eine von mehreren Möglichkeiten)
    lZeile = Sheets(1).Cells(1, 1).CurrentRegion.Rows.Count
    'MsgBox lZeile
End Sub


Private Sub ComboBox1_Change()
Dim As Integer
Dim tb As TextBox
    
    With UserForm1.ComboBox1
        If .Value <> "" Then
            UserForm1.TextBox1.Value = .List(.ListIndex, 0)
            UserForm1.TextBox2.Value = .List(.ListIndex, 1)
            UserForm1.TextBox3.Value = .List(.ListIndex, 2)
            UserForm1.TextBox4.Value = .List(.ListIndex, 3)
        Else
            UserForm1.TextBox1.Value = ""
            UserForm1.TextBox2.Value = ""
            UserForm1.TextBox3.Value = ""
            UserForm1.TextBox4.Value = ""
        End If
    End With

End Sub

Private Sub OptionButton1_Click()

    Application.EnableEvents = False
    With UserForm1.ComboBox1
        .Value = ""
        .RowSource = "Tabelle1!A2:D" & lZeile
    End With
    Application.EnableEvents = True
    
End Sub

Private Sub OptionButton2_Click()
...
        .RowSource = "Tabelle1!E2:H" & lZeile
...

Private Sub OptionButton3_Click()
...
        .RowSource = "Tabelle1!i2:L" & lZeile
...

Private Sub OptionButton4_Click()
...
        .RowSource = "Tabelle1!M2:P" & lZeile
...    

Da lässt sich sicherlich noch etwas verbessern, insbesonders die Optionbutton-Ereignisse können zusammengefasst werden, aber zumindest funktioniert es.

Hoffe, dass es hilft.

Lieben Gruß
Rainer

nach oben   nach unten

Re: Combobox
von: erich
Geschrieben am: 26.05.2002 - 00:13:12

hallo rainer,

danke für deine hilfe!!!!!!!!!!!!!!!!!
audprobieren kann ich erst heute morgen.
mfg
erich


nach oben   nach unten

Danke Rainer
von: erich
Geschrieben am: 26.05.2002 - 12:11:09

es funktioniert genauso wie ich es wollte!!!!

mfg
erich


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Combobox"