Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: werte in listbox verschieben

werte in listbox verschieben
kirsche
hallo leute,
ich bin hier am verzweifeln und hoffe auf eure hilfe.
von listbox1 lese ich in listbox2 diverse daten ein (4spalten=art.nr./artikeltext/LTS/zutat).
das funktioniert auch super(nach langer recherche im forumsarchiv).
nun möchte ich die werte innerhalb der listbox2 verschieben. hierfür habe ich auch einen code gefunden, der annähernd passt, leider aber nur annähernd.
wenn ich den code 1x auslöse, wird der wert verschoben, aber leider nur in spalte 1, der rest ist weg.
außerdem funktioniert der code beim 2. click nicht mehr. was mache ich hier noch falsch?
Private Sub cb_down_Click()
Dim MyArray As Variant
Dim i As Integer, AktuellePosition As Integer
With ListBox2
If .ListIndex = .ListCount - 1 Then Exit Sub
AktuellePosition = .ListIndex
ReDim MyArray(.ListCount - 1)
For i = 0 To .ListCount - 1
If i = .ListIndex + 1 Then
MyArray(i) = .List(i - 1, 2)
Else
If i = .ListIndex Then
MyArray(i) = .List(i + 1, 2)
Else
MyArray(i) = .List(i, 2)
End If
End If
Next i
.Clear
.List = MyArray
.ListIndex = AktuellePosition + 1
End With
End Sub
gruß kirsche
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: werte in listbox verschieben
10.09.2009 15:39:56
Rudi
Hallo,
logisch, dein Array hat ja auch nur 1 Spalte.
Was willsr du erreichen?
Gruß
Rudi
AW: werte in listbox verschieben
10.09.2009 15:46:58
kirsche
hallo rudi,
ich möchte die werte aus allen spalten nach oben oder unten verschieben.
wie kann ich das array erweitern?
gruß kirsche
AW: werte in listbox verschieben
10.09.2009 16:11:06
Rudi
Hallo,
so?
Private Sub cb_down_Click()
Dim MyArray As Variant
Dim i As Integer, AktuellePosition As Integer
Dim j As Integer
With ListBox2
If .ListIndex = .ListCount - 1 Then Exit Sub
AktuellePosition = .ListIndex
ReDim MyArray(.ListCount - 1, 3)
For i = 0 To .ListCount - 1
Select Case i
Case .ListIndex + 1
For j = 0 To 3
MyArray(i, j) = .List(i - 1, j)
Next
Case .ListIndex
For j = 0 To 3
MyArray(i, j) = .List(i + 1, j)
Next
Case Else
For j = 0 To 3
MyArray(i, j) = .List(i, j)
Next
End Select
Next i
.Clear
.List = MyArray
.ListIndex = AktuellePosition + 1
End With
End Sub

Gruß
Rudi
Anzeige
AW: werte in listbox verschieben
10.09.2009 16:16:20
kirsche
hallo rudi,
danke für deine hilfe, hat super geklappt.
nun ist der feierabend gerettet, voll freu hier.
gruß kirsche
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige