Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Listbox Wenn letzte Zeile erreicht, dann Fehler
#1
Hallo zusammen
Ich bastle mir gerade eine Listbox mit welcher ich die Daten im Tabellenblatt verschieben kann, was soweit ganz gut funktioniert. Die Daten werden in eine Hilfstabelle kopiert, ausgelesen und dann wieder zurückkopiert.
Das Problem ist, wenn ich über die letzte Zeile gehe, kommt eine Fehlermeldung. Vielleicht hat jemand eine Idee was ich da wieder mal falsch gemacht habe.

LG
Michael


PHP-Code:
Private Sub SpinButton1_SpinDown()
Dim Kopiealt As Integerneu As IntegerAs Integer

With Listbox_Test
alt 
= .ListIndex
If alt <> -1 Then
  neu 
IIf(alt = .ListCount 10alt 1)
    Kopie = .List
    For 0 To .ColumnCount 1
      
.List(neui) = Kopie(alti)
      .List(alti) = Kopie(neui)
    .ListIndex alt 1
          Worksheets
("Hilfstabelle").Range("A3:c12") = .List
    
    Next i
    
End 
If
End With
End Sub 


Angehängte Dateien
.xlsm   Hilfe_Listbox_Sortieren - Kopie.xlsm (Größe: 39,58 KB / Downloads: 4)
Antworten Top
#2
Hallo, 19 

eine Möglichkeit: 21 

Code:
Private Sub SpinButton1_SpinDown()
    Dim Kopie, alt As Integer, neu As Integer, i As Integer
    With Listbox_Test
        alt = .ListIndex
        If alt <> -1 Then
            neu = IIf(alt = .ListCount - 1, 0, alt + 1)
            Kopie = .List
            For i = 0 To .ColumnCount - 1
                .List(neu, i) = Kopie(alt, i)
                .List(alt, i) = Kopie(neu, i)
                If .ListIndex <> .ListCount - 1 Then .ListIndex = alt + 1
                Worksheets("Hilfstabelle").Range("A3:C12") = .List
            Next i
        End If
    End With
End Sub
________
Servus
Case
Antworten Top
#3
Wie toll ist das denn? Super.... Dankeschön

Wenn ich so unverschämt sein darf. Kann man das auch so machen, dass das an der letzten Stelle gestoppt wird und nicht wieder von oben anfängt? Oder dass die Markierung auch nach oben springt. Es genüg schon ein kleiner Hinweis, den Rest bastle ich mir schon zusammen

LG
Michael
Antworten Top
#4
Ich habe den Listbox umbenennt in 'LB_00'

Dann reicht in VBA:

Code:
Private Sub SpinButton1_SpinDown()
  With LB_00
    If ListIndex < .ListCount - 1 Then
    st = Evaluate("row(1:" & .ListCount & ")")
    st(.ListIndex + 2, 1) = .ListIndex + 1
    st(.ListIndex + 1, 1) = .ListIndex + 2
   
    .List = Application.Index(.List, st, Evaluate("transpose(row(1:" & UBound(.List, 2) + 1 & "))"))
    End If
  End With
End Sub
Mutatis Mutandis für Spinbutton1_SpinUP
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Eizi100
Antworten Top
#5
Hi danke für deine Hilfe

Ich bin eigentlich begeistert wieviele Lösungen es gibt. Nur ich stehe auf dem Schlauch

LG
Michael

Antworten Top
#6
Keep it simple


Angehängte Dateien
.xlsb   __Listbox_Sort.xlsb (Größe: 20,32 KB / Downloads: 4)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Nochmal ein herzliches Dankeschön

Für euch ist es simpel. Für mich ist das eine Wochenaufgabe

LG
Michael
Antworten Top
#8
Wie gesagt: es kann immer einfacher.


Angehängte Dateien
.xlsb   __Listbox_Sort.xlsb (Größe: 20,64 KB / Downloads: 3)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste