Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen einfügen

Zeilen einfügen
26.02.2008 18:40:00
Krebs
Hallo,
in einem Tabellenblatt habe ich die Zeilen mit folgendem Code sortiert

Sub sortieren()
Dim BisZeile As Integer
Dim BisSpalte As Integer
Dim AnzahlTS As Integer
BisZeile = Worksheets("Blechliste").Cells(Rows.Count, 2).End(xlUp).Row
BisSpalte = Worksheets("Blechliste").Cells(BisZeile, Columns.Count).End(xlToLeft).Column
AnzahlTS = Round((BisZeile - 5) / 2) + 5
'Worksheets("Blechliste").Range("N1").Value = AnzahlTS
Worksheets("Blechliste").Range(Cells(5, 1), Cells(BisZeile, BisSpalte)).Select
Selection.Sort Key1:=Range("J5"), Order1:=xlDescending, Key2:=Range("K5") _
, Order2:=xlDescending, Key3:=Range("D5"), Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Worksheets("Blechliste").Cells(AnzahlTS, 2).EntireRow.Insert
Worksheets("Blechliste").Cells(AnzahlTS, 2).EntireRow.Insert
Worksheets("Blechliste").Range("A5").Select
Worksheets("Blechliste").Range("D5").Activate
End Sub


Nun möchte ich eine neue Zeile nach gleichen Werten bzw. zwischen ungleichen Werten einfügen.
Hab das mit:


Sub sortierenMat()
Dim Ende As Integer
Dim i As Integer
Ende = Worksheets("Blechliste").Cells(Rows.Count, 4).End(xlUp).Row
For i = 5 To Ende Step 1
If Worksheets("Blechliste").Cells(i, 4).Value = _
Worksheets("Blechliste").Cells(i - 1, 4).Value Then
Worksheets("Blechliste").Cells(i + 1, 4).EntireRow.Insert
End If
Next i
End Sub


Bringt mir aber nicht das gewünschte ergebnis, denn jetzt fügt er immer nach 2 gleichen werten eine Leerzeile ein. Wenn ich aber 3 oder 4 gleiche Werte in spalte 4 habe soll er erst nach 3 der 4 werten eine Leerzeile einfügen.
Ist das einigermaßen verständlich? Wer kann mir weiterhelfen.
Gruß

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen einfügen
26.02.2008 20:18:44
Daniel
HI
dann vielleicht so:

If Worksheets("Blechliste").Cells(i, 4).Value  _
Worksheets("Blechliste").Cells(i - 1, 4).Value Then
Worksheets("Blechliste").Cells(i, 4).EntireRow.Insert


kleiner Hinweis noch, beim Einfügen oder Löschen von Zeilen mit einer Schleife ist es meistens günstiger, die Schleife vom der letzten Zeile zur ersten Zeile durchlaufen zu lassen, sonst könnte es unerwünschte Effekte geben, dh


For i = Ende to 5 Step -1


Gruß, Daniel

AW: Zeilen einfügen
01.03.2008 16:48:08
Krebs
Hi,
sorry das ich jetzt erst antworte. Das war genau der Hinweis den ich brauchte.
Danke
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige