Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1668to1672
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
Listbox Multiselect werte in Tabelle abändern
21.01.2019 11:15:59
Tim
Hallo zusammen, und zwar stehe ich vor dem Problem, dass ich gern zu jedem ausgewählten Listbox Eintrag (z.B. Spalte A), den dazugehörigen Wert in der Tabelle (z.B. Spalte B) ändern möchte. Bisher habe ich mir dazu die Zeilennummer ".List(.ListCount - 1, 7) = rngCell.Row " ausgeben lassen, um beim zurückschreiben der Daten in die Tabelle nur noch die entsprechende Spalte definiere.
Jetzt ist kommen aber die Daten aus einem anderen Tabellenblatt, mit einem anderen Aufbau, jedoch gibt es die Artikelnummer in der zweiten Spalte der Listbox, welche ähnlich wie die Zeilennummer, eineindeutig ist. Ziel soll es sein, das für jede Artikelnummer, er in der Zieltabelle den richtigen Eintrag sucht, um in einer weiteren Spalte die dazugehörigen Werte abändert.
Wer kann mir dabei helfen?
eingelesen wird die Listbox so:
Private Sub Combobox1_change()
Dim rngCell As Range
Dim strFirstAddress As String
With Worksheets("Datenbank").Range("A:A")
Me.ListBox1.Clear
Set rngCell = .Find(Me.ComboBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngCell Is Nothing Then
strFirstAddress = rngCell.Address
Do
With Me.ListBox1
.ColumnCount = 8
.AddItem
.List(.ListCount - 1, 0) = rngCell.Offset
.List(.ListCount - 1, 1) = rngCell.Offset(0, 2).Value
.List(.ListCount - 1, 2) = rngCell.Offset(0, 4).Value
.List(.ListCount - 1, 3) = rngCell.Offset(0, 5).Value
.List(.ListCount - 1, 4) = rngCell.Offset(0, 6).Value
.List(.ListCount - 1, 5) = rngCell.Offset(0, 7).Value
.List(.ListCount - 1, 6) = rngCell.Offset(0, 9).Value
.List(.ListCount - 1, 7) = rngCell.Row 'zeigt die Zeilennummer an in der sich der  _
Eintrag aus der datenbank befindet
.ColumnWidths = "0,0cm;5,0cm;8,0cm;5,0cm;5,0cm;5,0cm;2,0cm;0,0cm"
End With
Set rngCell = .FindNext(rngCell)
Loop While Not rngCell Is Nothing And rngCell.Address  strFirstAddress
Else
End If
End With
End Sub

Und das Zurückschreiben via Zeilennummer so:
Private Sub Status_Click()
Dim i, k As Long
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
k = ListBox1.List(i, 7)
Sheets("Datenbank").Cells(k, 3) = "test"
End If
Next
Next
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Multiselect werte in Tabelle abändern
21.01.2019 13:24:16
Rudi
Hallo,
als Hinweis:
k=Application.Match(Listbox1.List(i,2),Sheets("Ziel").Columns(2),0)
Gruß
Rudi
AW: Listbox Multiselect werte in Tabelle abändern
21.01.2019 13:49:24
Tim
Perfekt, danke!
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige