Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortieren

Forumthread: Sortieren

Sortieren
22.07.2008 10:44:00
Thomas
hallo zusammen,
habe folgende problematik:
in einer tabelle habe ich für verschiedene einheiten jeweils eine kennzahl errechnet und dies über verschiedene zeiträume. dann sortiere ich in einem anderen sheet für jeden zeitraum die einheiten (mit den besten beginnend).
hier arbeite ich mit der RANG-funktion. im prinzip klappt alles super, aber einen kleinen haken gibts noch. wenn zwei einheiten dieselbe kennzahl aufweisen, haben sie den selben RANG und werden an dieselbe stelle plaziert. das habe ich folgendermaßen (teilausschnitt aus gesamten makro) versucht zu umgehen:
If ActiveCell.Offset(Rank, 0).Value = "" Then
ActiveCell.Offset(Rank, 0).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(-Rank, 1).Select
Else
ActiveCell.Offset(Rank + 1, 0).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(-Rank - 1, 1).Select
End If
klappt aber leider nur, wenn nicht mehr als zwei bereiche denselben RANG haben.
wie müßte dieser teil vom makro aussehen, damit er bei noch mehr identischen plazierungen einfach solange runtergeht, bis er ein freies feld findet?
vielen dank!
thomas

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren
22.07.2008 13:55:00
Daniel
Thomas,
Ändere die Zeile:
ActiveCell.Offset(Rank + 1, 0).Select
in:
ActiveCell.Offset(Rank, 0).Select
Und füge anschließend die Zeile :
ActiveCell.End(xlDown).Select ein.
Gruß
Daniel

AW: Sortieren
22.07.2008 14:18:00
Thomas
Danke, Daniel! Die Funktion kannte ich noch nicht.
Leider tut es immer noch nicht, wie gewünscht. Ich schätze, die Zeile
ActiveCell.Offset(-Rank - 1, 1).Select
muss auch geändert werden, da ja vorher die Zeile
ActiveCell.Offset(Rank + 1, 0).Select
abgeändert wurde.
Habs mal mit ActiveCell.End(xlUp).Select und anschließendem Offset nach rechts probiert, aber es klappt leider nicht. Hast Du vielleicht noch einen Tip?
Vielen Dank und Gruß,
Thomas

Anzeige
Hat sich erledigt!
22.07.2008 15:31:00
Thomas
War mit folgenden Zeilen ganz easy ;-)
Do ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell)
Vielen Dank nochmal!
;

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