Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Viererblock-Datensätze sortieren

Gruppe

Sortieren

Problem

Wie kann ich zwei Tabellen gleichzeitig sortieren lassen? Zu berücksichtigen ist, dass sich in der zweiten Tabelle auf ViererBlöcke erweiterte Datensätze aus Tabelle1 befinden.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub Sortieren()
   Dim rng As Range
   Dim iRow As Integer, iTarget As Integer
   iRow = 1
   Range("A1").CurrentRegion.Sort key1:=Range("A1"), _
      order1:=xlAscending, header:=xlNo
   With Worksheets("Tabelle2")
      Do Until IsEmpty(Cells(iRow, 1))
         Set rng = .Columns("A").Find(Cells(iRow, 1), _
            lookat:=xlWhole, LookIn:=xlValues)
         iTarget = .Cells(Rows.Count, 5).End(xlUp).Row + 1
         If iTarget = 2 Then iTarget = 1
         .Range(rng, rng.Offset(3, 3)).Cut .Range _
            (.Cells(iTarget, 5), .Cells(iTarget + 3, 8))
         iRow = iRow + 1
      Loop
      .Columns("A:D").Delete
      Application.Goto .Range("A1"), True
      .Columns.AutoFit
   End With
End Sub