Anzeige
Archiv - Navigation
1148to1152
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 und dann Zeilen einfügen!

Sortieren und dann Zeilen einfügen!
Stut
Hallo Liebe Leute,
ich möchte per VBA eine Tabelle Erst nach Priorität und dann nach Artikelnr. Sortieren.
Danach soll nach jedem unterschiedlichen Artikel eine Zeile eingefügt werden.
Wie muss ich hier Code technisch vorgehen?
Beispieltabelle:
Kunde Prio Liefertermin Artikelnr.
TEST 1 01.04.2010 123
TEST 2 01.04.2010 123
TEST 4 01.04.2010 123
TEST 3 3 01.04.2010 234
TEST 4 5 01.04.2010 456
TEST 4 5 01.04.2010 456
LG
Stut
AW: Sortieren und dann Zeilen einfügen!
01.04.2010 12:16:51
Rudi
Hallo,
dir ist klar, dass du damit die Tabelle 'zerstörst'?
Sub tt()
Dim i As Long
Application.ScreenUpdating = False
Range("A1").Sort _
key1:=Range("B2"), order1:=xlAscending, _
key2:=Range("D2"), order2:=xlAscending, _
header:=xlYes
For i = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
If Cells(i, 4)  Cells(i - 1, 4) Then
Rows(i).Insert
End If
Next
Application.ScreenUpdating = True
End Sub

Gruß
Rudi
AW: Sortieren und dann Zeilen einfügen!
01.04.2010 12:25:02
Stut
Ersteinmal danke danke danke für die Antwort, funktioniert fast genauso wie ich es haben wollte.
Das Amkro macht jetz aber eine neu zeile bei gleicher Prio ich wollte eine neu Zeile bei gleichem Artikel.
Was muss ich da ändern?
Gruss Stut
Anzeige
AW: Sortieren und dann Zeilen einfügen!
01.04.2010 12:37:39
Stut
mmhh jetzt bekomm ich einen Laufzeitfehler 1004
AW: Sortieren und dann Zeilen einfügen!
01.04.2010 15:42:10
Rudi
Hallo,
das Makro mach exakt, was du gefragt hast.
Gruß
Rudi
AW: Sortieren und dann Zeilen einfügen!
01.04.2010 12:30:13
fcs
Hallo Stut,
funktioniert prinzipiell wie folgt.
Gruß
Franz
Sub Sort_plus_Leerzeilen()
Dim wks As Worksheet, Bereich As Range
Dim Zeile As Long
Set wks = ActiveSheet
'zu sortierender Bereich - A1:Dxxx
With wks
Set Bereich = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 3))
End With
With Bereich
'bereich nach 2. und 4. Spalte sortieren
.Sort Key1:=.Range("B1"), order1:=xlAscending, _
key2:=.Range("D1"), order2:=xlAscending, header:=xlYes
'Leerzeile einfügen, wenn Artikel sich ändert, dabei Tabelle vom Ende zum Anfang  _
bearbeiten
For Zeile = .Rows.Count - 1 To 2 Step -1
If .Cells(Zeile, 4)  .Cells(Zeile + 1, 4) Then
wks.Rows(.Row + Zeile).Insert shift:=xlShiftDown
End If
Next
End With
End Sub

Anzeige
AW: Sortieren und dann Zeilen einfügen!
01.04.2010 12:47:26
Stut
Danke ich bekomm bei der Variante einen Laufzeitfehler, wieso?
Gruß und dank voraus!
AW: Sortieren und dann Zeilen einfügen!
01.04.2010 14:39:35
fcs
Halo Stut,
keine Ahnung, unter Excel 2003 läuft es, wenn ich mit deinen Daten in einer ganz normalen Exceltabelle arbeitet.
Probleme könne aber verbundenen Zellen bereiten. Diese unbedingt vermeiden.
Andere Möglichkeit: Du arbeitest mit dem Tabellen/Listen-Objekt. (Einfügen - Tabellel).
In diesem Modus funktionieren bestimmte VBA-Funktionen nicht oder anders.
Zeichne für das Sortieren der Daten dann ein Makro auf.
Gruß
Franz

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige