Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
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

Sortieren mit Leerzeilen

Sortieren mit Leerzeilen
22.08.2008 08:56:45
dschierz
Hallo,
ich habe eine Frage wieder zu dem schon oft behandelten Thema "Sortieren mit VBA"
Bisher habe ich Beiträge zum Problem gelesen wo die Leerzeilen entfernt wurden. Ich hätte gerne die Leerzeilen (Leerzellen) wegen der Übersichtlichkeit beibehalten. Mit dem Macrorecorder geht es auch, aber es kommt ein gewaltiger Code zustande.
Also noch einmal, Ich hätte gerne einen Zellbereich sortiert, die leeren Zellen und die Formatierung (Füllfarbe der Zellen) beibehalten.
Vielen Dank im Voraus
Dietmar Schierz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren mit Leerzeilen
22.08.2008 09:59:00
fcs
Hallo Dietmar,
Leerzeilen in Exceltabellen, die man sortieren möchte sind etwas was du schnellstens vergessen soltest.
Einfacher ist es Zeilen mit bedingter Formatierung hervorzuheben, wenn dies die Lesbarkeit einer Tabelle erleichtern soll. Diese funktioniert dann auch unabhängig von der Sortierung, wenn man es richtig macht.
Was noch verhältnismäßig einfach per Makro umgesetzt werden kann ist das Einfügen und ggf. Formatieren von Leerzeilen in regelmäßigen Abständen nach dem Sortieren.
Beispiel-Makro:

Sub Sortieren()
'Bereich sortieren und Leerzeilen einfügen
Dim wks As Worksheet, rngBereich As Range, lngZeile As Long, lngI As Long
Const lngSchritt As Long = 5 'Zeilenabstand für Leerzeilen
On Error GoTo Fehler
Set wks = ActiveSheet
With wks
'Sortierbereich (Zelle A1 bis letzte Zeile Spalte A inkl. Spalte G)
Set rngBereich = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 6))
'Sortieren
With rngBereich
'leere Zellen ohne Füllfarbe
.Cells.SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = xlColorIndexNone
'Bereich sortieren
.Sort key1:=.Range("A1"), order1:=xlAscending, _
Key2:=.Range("C1"), order2:=xlAscending, _
Header:=xlYes
End With
'letzte datenzeile Spalte A
lngZeile = .Cells(.Rows.Count, 1).End(xlUp).Row
'Leerzeilen einfügen
For lngI = 1 To Int((lngZeile - rngBereich.Row) / lngSchritt)
'Einfüge-Zeilennummer berechnen
lngZeile = rngBereich.Row + lngI * lngSchritt + lngI
'Zeile einfügen
.Rows(lngZeile).Insert
'Leerzeile einfärben (6 = gelb)
.Range(.Cells(lngZeile, 1), .Cells(lngZeile, 7)).Interior.ColorIndex = 6
Next
End With
'Fehlerbehandlung
Fehler:
If Err.Number  0 Then
Select Case Err.Number
Case 1004 'Falls im bereich keine Leerzellen vorhanden sind
Resume Next
Case Else
MsgBox "Fehler-Nr: " & Err.Number & vbLf & Err.Description
End Select
End If
End Sub


Gruß
Franz

Anzeige
AW: Sortieren mit Leerzeilen
26.08.2008 06:43:17
Marc
Vielleicht kommst du ja weiter, wenn du erst den komplette Bereich sortierst und dann per Makro jeweils eine Zeile einfügst. Dann hättest du auch jeweils ne Leerzeile.
Das kannst du natürlich noch mit Bedingungen verknüpfen oder Farben, wie du willst.
Gruß, Marc

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige