Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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
Inhaltsverzeichnis

Sortierproblem

Sortierproblem
13.10.2015 20:38:09
Rainer
Hallo,
habe in einer Listbox zur Sortierung folgenden Code:

iColL = GetLastColumn()
iMax = WorksheetFunction.Match("Auswertung", Columns(9), 0)
Columns("IV").ClearContents
Range(Cells(1, 13), Cells(1, iColL)).EntireColumn.Hidden = True
Range(Cells(iMax, 13), Cells(iMax, iColL)).Copy
Range("IV1").PasteSpecial xlPasteValues, , , True
Range("IV1").CurrentRegion.Sort key1:=Range("IV1"), order1:=xlDescending, Header:=xlNo
For iRow = 1 To WorksheetFunction.CountA(Columns("IV"))
If Cells(iRow, 256).Value  0 Then
If WorksheetFunction.CountIf(Range(Cells(WorksheetFunction.CountA(Columns(256)), 256),   _
_
Cells(iRow, 256)), Cells(iRow, 256).Value) 

Dieser funktioniert allerdings nur, solange wenige Spalten befüllt sind einwandfrei.
Sowie ich mehrere Spalten (Produkte) befüllt habe ist die Sortierung falsch, sowie ich Zeilen ausgeblendet habe.
Gibt es da eine Lösung?
In der Tabelle https://www.herber.de/bbs/user/100755.xls
einfach mal Selektion (Spalte B) rausnehmen, dann funktioniert die Sortierung.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierproblem
13.10.2015 23:39:02
Rainer
Hallo,
habe vielleicht nicht die sauberste Lösung und es braucht auch ein wenig bis sich die Userform aufbaut, aber habe einfach die Ansicht deaktiviert, alle Zeilen eingeblendet, die UserForm aufgerufen und nach der Auflistung die zuvor ausgeblendeten Zeilen wieder ausgeblendet.
Application.ScreenUpdating = False
'da Sortierung falsch wenn Zeilen ausgeblendet sind erst einmal alle Zeilen einblenden
Rows("15:276").EntireRow.Hidden = False
MEIN CODE VON OBEN
'... und wieder einblenden
' X_und_-_Suchen_und_Zeile_ausblenden()
Dim lgRow As Long
For lgRow = 15 To 276
If ActiveSheet.Cells(lgRow, 8) = "x" Or ActiveSheet.Cells(lgRow, 8) = "-" Then
ActiveSheet.Rows(lgRow).Hidden = True
End If
Next
Application.ScreenUpdating = False

In diesem Fall evtl. die Lösung.
Bin aber gerne offen für eine andere Variante.
Gruß Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige