Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellinhalte Sortieren

Zellinhalte Sortieren
31.07.2006 18:40:15
Franz
Hallo,
Ich habe gerade erst mit VBA begonnen und bitte um Eure Hilfe
bei folgenden Problem.
Ich möchte ausgewählte Zellinhalte mit den oben oder untenstehenden
Zellinhalten vertauschen.
Es soll möglich sein bei einer Liste mit bis zu 25 Einträgen Inhalte von ganz unten Zeilenweise bis nach ganz oben durchzutauschen und umgekehrt.
Vielen Dank im voraus.
Ich habe eine Datei hochgeladen wie Ich mir das ungefähr vorstelle.
https://www.herber.de/bbs/user/35475.xls

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalte Sortieren
31.07.2006 19:10:34
Josef
Hallo Franz!
Probier mal.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub CommandButton3_Click()
Dim tmp As String
With ListBox1
  If .ListIndex > 0 Then
    tmp = .List(.ListIndex - 1)
    .List(.ListIndex - 1) = .List(.ListIndex)
    .List(.ListIndex) = tmp
    .ListIndex = .ListIndex - 1
    refreshTable
  End If
End With
End Sub


Private Sub CommandButton4_Click()
Dim tmp As String
With ListBox1
  If .ListIndex < .ListCount - 1 Then
    tmp = .List(.ListIndex + 1)
    .List(.ListIndex + 1) = .List(.ListIndex)
    .List(.ListIndex) = tmp
    .ListIndex = .ListIndex + 1
    refreshTable
  End If
End With
End Sub


Private Sub CommandButton5_Click()
With ListBox1
  If .ListIndex > -1 Then .RemoveItem (.ListIndex)
  refreshTable
End With
End Sub


Private Sub CommandButton6_Click()
Unload Me
End Sub


Private Sub refreshTable()
With Sheets("Tabelle1")
  Range("I1:I27").ClearContents
  Range("I1:I" & ListBox1.ListCount) = ListBox1.List
End With
End Sub



Private Sub userform_initialize()
Dim vList As Variant

With Sheets("Tabelle1")
  vList = .Range("I1:I" & .Cells(27, 9).End(xlUp).Row)
End With

Me.ListBox1.List = vList

End Sub


Gruß Sepp

Anzeige
AW: Zellinhalte Sortieren
31.07.2006 20:55:35
Franz
Vielen herzlichen Dank Sepp!!
Das war genau das was Ich wollte.
nur eine Bitte habe Ich noch
wenn in deinem Code kein Wert in der Liste steht kommt eine Fehlermeldung auch wenn
Ich alle Werte Lösche.
Könntest du mir bitte dabei noch helfen?
Danke
Gruss Franz
AW: Zellinhalte Sortieren
31.07.2006 21:11:09
Josef
Hallo Franz!
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub CommandButton3_Click()
Dim tmp As String
With ListBox1
  If .ListIndex > 0 Then
    tmp = .List(.ListIndex - 1)
    .List(.ListIndex - 1) = .List(.ListIndex)
    .List(.ListIndex) = tmp
    .ListIndex = .ListIndex - 1
    refreshTable
  End If
End With
End Sub


Private Sub CommandButton4_Click()
Dim tmp As String
With ListBox1
  If .ListIndex > -1 And .ListIndex < .ListCount - 1 Then
    tmp = .List(.ListIndex + 1)
    .List(.ListIndex + 1) = .List(.ListIndex)
    .List(.ListIndex) = tmp
    .ListIndex = .ListIndex + 1
    refreshTable
  End If
End With
End Sub


Private Sub CommandButton5_Click()
With ListBox1
  If .ListIndex > -1 Then .RemoveItem (.ListIndex)
  refreshTable
End With
End Sub


Private Sub CommandButton6_Click()
Unload Me
End Sub


Private Sub refreshTable()
With Sheets("Tabelle1")
  Range("I1:I27").ClearContents
  If ListBox1.ListCount > 0 Then Range("I1:I" & ListBox1.ListCount) = ListBox1.List
End With
End Sub



Private Sub userform_initialize()
Dim vList As Variant

With Sheets("Tabelle1")
  If Application.CountA(.Range("I1:I" & .Cells(27, 9).End(xlUp).Row)) > 0 Then
    vList = .Range("I1:I" & .Cells(27, 9).End(xlUp).Row)
    Me.ListBox1.List = vList
  End If
End With

End Sub


Gruß Sepp

Anzeige
AW: Zellinhalte Sortieren
31.07.2006 22:44:51
Franz
Ich habe deinen geänderten Code schon in mein Formular eingebaut und es funktioniert bestens.
Danke Sepp für deine schnelle Hilfe.
Gruss Franz
AW: Zellinhalte Sortieren
31.07.2006 19:40:10
Josef
Hallo Franz!
Probier mal.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub CommandButton3_Click()
Dim tmp As String
With ListBox1
  If .ListIndex > 0 Then
    tmp = .List(.ListIndex - 1)
    .List(.ListIndex - 1) = .List(.ListIndex)
    .List(.ListIndex) = tmp
    .ListIndex = .ListIndex - 1
    refreshTable
  End If
End With
End Sub


Private Sub CommandButton4_Click()
Dim tmp As String
With ListBox1
  If .ListIndex < .ListCount - 1 Then
    tmp = .List(.ListIndex + 1)
    .List(.ListIndex + 1) = .List(.ListIndex)
    .List(.ListIndex) = tmp
    .ListIndex = .ListIndex + 1
    refreshTable
  End If
End With
End Sub


Private Sub CommandButton5_Click()
With ListBox1
  If .ListIndex > -1 Then .RemoveItem (.ListIndex)
  refreshTable
End With
End Sub


Private Sub CommandButton6_Click()
Unload Me
End Sub


Private Sub refreshTable()
With Sheets("Tabelle1")
  Range("I1:I27").ClearContents
  Range("I1:I" & ListBox1.ListCount) = ListBox1.List
End With
End Sub



Private Sub userform_initialize()
Dim vList As Variant

With Sheets("Tabelle1")
  vList = .Range("I1:I" & .Cells(27, 9).End(xlUp).Row)
End With

Me.ListBox1.List = vList

End Sub


Gruß Sepp

Anzeige
Oups! Doppelt - Sorry o.T.
31.07.2006 19:41:17
Josef
Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige