Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Sortierschleife bricht nicht ab

Betrifft: Sortierschleife bricht nicht ab von: Maike Bromann
Geschrieben am: 15.09.2014 11:45:13

Hallo Forenmitglieder,

ich habe in einem Excelblatt in zwölf Spalten ungeordnete Werte und gebe diese in rehten Nachbarspalten sortiert aus. Weil immer wieder Werte hinzukommen, fängt die Prozedur in der Zeile an, in der bis dahin noh keine Sortierung erfolgte. Doch der Kollege, der mir das Makro erstellt hatte ist nicht mehr greifbar und mein kleiner Bruder hat den Code kaputt gespielt.

Könnt Ihr mir helfen, dass dieser Code wieder in Excel 2010 funktioniert?

Private Sub CommandButton1_Click()

Dim Lz As Long
Dim iRow As Variant
iRow = 2



Do While Cells(iRow, 4) <> "" Or Cells(iRow, 4) <> 0

Lz = Cells(Rows.Count, 15).End(xlUp).Row + 1

Range(Cells(Lz, 1), Cells(Lz, 12)).Copy Destination:=Range(Cells(Lz, 13), Cells(Lz, 24))

Range(Cells(Lz, 13), Cells(Lz, 24)).Select

Selection.Sort Key1:=Cells(Lz, 12), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal

If Cells(iRow, 4) = "" Or Cells(iRow, 4) = 0 Then Exit Do

iRow = iRow + 1

Loop

  

Betrifft: AW: Sortierschleife bricht nicht ab von: Mullit
Geschrieben am: 15.09.2014 15:54:23

Hallo,

sowas könnte gehen:
(und beim nächsten Mal kriegt der kleine Bruder was auf die Finger...)

Option Explicit

Private Sub CommandButton1_Click()
Dim lngLastRow As Long
Dim lngRow As Long
lngRow = 2
Application.ScreenUpdating = False
lngLastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(lngRow, 1), Cells(lngLastRow, 12)).Copy Destination:=Cells(lngRow, 13)
Do While Cells(lngRow, 1) <> "" Or Cells(lngRow, 1) <> 0
  Range(Cells(lngRow, 13), Cells(lngRow, 24)).Sort Key1:=Cells(lngRow, 13), _
  Order1:=xlAscending, Header:=xlGuess, _
  OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
  DataOption1:=xlSortNormal
  lngRow = lngRow + 1
Loop
Application.ScreenUpdating = True
End Sub

Gruß,


  

Betrifft: AW: Sortierschleife bricht nicht ab von: Maike Bromann
Geschrieben am: 15.09.2014 16:35:31

Hallo Mullit,

ich habs ausprobiert, und werde mir den Unterschied mal in einer ruhigen Stunde anschauen, vielleicht versteh ich es dann mal.

Mein Brüderchen hat seine Kenntnisse aus der Schule mitgebracht, und sich dann einfach über meine Dateien hergemacht, wollte diese nur vereinfachen....

Den Laptop bekommt der nie wieder in seine Hände.

Zuletzt noch danke ich dir, Mullit für meine schnelle Rettung

Gruß Maike


  

Betrifft: AW: Sortierschleife bricht nicht ab von: Mullit
Geschrieben am: 15.09.2014 16:47:35

Hallo Maike,

null Problemo....

Gruß, Mullit