Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten an ComboBox übergeben

Daten an ComboBox übergeben
30.03.2015 19:03:59
M
Hallo,
ich durchsuche schon seit längerem für meine Masterarbeit hier dieses Forum (hat schon zahlreiche nützliche Hinweise geliefert ;) ), jedoch bin ich an einem Punkt angekommen, an dem ich nicht mehr weiter komme :/
Ich habe diesen Code gefunden um die 2te ComboBox in Abhängigkeit von der Ersten zu füllen. (http://home.arcor.de/excelseite/UserForms/combinabh.html)
Die beiden ComboBoxen sind in einer UserForm A mit noch anderen TextBoxen. Die ausgewählten und eingetragenen Werte werden dann in einem Tabellenblatt gespeichert. Um die zuvor gespeicherten Daten bearbeiten zu können, will ich diese an eine 2te UserForm B übergeben. Und jetzt kommt mein Problem. Die erste ComboBox (Risikokategorie) von der die Zweite (Risikogruppe) abhängt übernimmt die Werte aus der Tabelle, bei der 2ten ComboBox bekomme ich folgenden Fehler: Laufzeitfehler '380' Eigenschaft Value konnte nicht gesetzt werden. Ungültiger Eigenschaftswert.
Das ist der Code für die ComboBoxen:

Private Sub UserForm_Activate()
ComboBox_Risikokategorie_bearbeiten.List = Worksheets("Risikokategorie-gruppe")_
.Range("A4", "A" & Worksheets("Risikokategorie-gruppe")_
.Range("A65536").End(xlUp).Row).Value
End Sub
Private Sub ComboBox_Risikokategorie_bearbeiten_Change()
Dim iSpalte As Intege
Dim iZiel As Integer
Dim rng As String
iSpalte = ComboBox_Risikokategorie_bearbeiten.ListIndex + 2
rng = Chr(iSpalte + 64) & "65536"
iZiel = Worksheets("Risikokategorie-gruppe").Range(rng).End(xlUp).Row
ComboBox_Risikogruppe_bearbeiten.Clear
ComboBox_Risikogruppe_bearbeiten.List = Range(Worksheets("Risikokategorie-gruppe")_
.Cells(4, iSpalte),Worksheets("Risikokategorie-gruppe").Cells(iZiel, iSpalte)).Value
End Sub
Und so übergebe ich die Daten von der Tabelle an die ComboBoxen, wobei in der zweiten Zeile (ComboBox_Risikogruppe_bearbeiten) die Fehlermeldung kommt:

RMS_Risiko_bearbeiten.ComboBox_Risikokategorie_bearbeiten.Value =_
Worksheets("Risiken").Rows(i_bearbeiten).Cells(4)
RMS_Risiko_bearbeiten.ComboBox_Risikogruppe_bearbeiten.Value =_
Worksheets("Risiken").Rows(i_bearbeiten).Cells(5)         
Kann man das so überhaupt realisieren? :/
Vielen Dank schon einmal im Voraus!
lg

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
List() vs. value
31.03.2015 06:34:50
MCO
Moin!
ComboBox_Risikogruppe_bearbeiten.List = Range(Worksheets("Risikokategorie-gruppe")_
.Cells(4, iSpalte),Worksheets("Risikokategorie-gruppe").Cells(iZiel, iSpalte)).Value

Die .List()-Eigenschaft will eine Range haben, du willst aber .value übergeben.
.value bei der Listbox ist nur der angezeigte Wert. Den kannst du dann seperat zuweisen.
Gruß, MCO

AW: List() vs. value
31.03.2015 08:28:59
M
Vielen Dank für die rasche Antwort! Ich weiß was du prinzipiell meinst, jedoch habe ich keine Ahnung wie ich die Zeile
RMS_Risiko_bearbeiten.ComboBox_Risikogruppe_bearbeiten.Value =_
Worksheets("Risiken").Rows(i_bearbeiten).Cells(5)   
verändern muss, dass es funktioniert.
So geht es jedenfalls nicht.
RMS_Risiko_bearbeiten.ComboBox_Risikogruppe_bearbeiten.List = _
Range(Worksheets("Risiken").Cells(i_bearbeiten, 5)).Value
Warum funktioniert es bei der ersten ComboBox, bei der Zweiten jedoch nicht? Die sind doch gleich aufgebaut.
lg

Anzeige
AW: List() vs. value
31.03.2015 11:17:49
M
Nach längerem probieren habe ich es endlich geschafft :)
Das Vertauschen der beiden Zeilen funktioniert schlussendlich. Also zuerst die zweite ComboBox beschreiben und erst danach die Zweite. Keine Ahnung warum das so funktioniert, aber Hauptsache das Problem ist gelöst :)

RMS_Risiko_bearbeiten.ComboBox_Risikogruppe_bearbeiten.Value =_
Worksheets("Risiken").Rows(i_bearbeiten).Cells(5)
RMS_Risiko_bearbeiten.ComboBox_Risikokategorie_bearbeiten.Value =_
Worksheets("Risiken").Rows(i_bearbeiten).Cells(4)
Vielen Dank noch einmal für die Bemühung!
lg
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige