HERBERS Excel-Forum - die Beispiele

Thema: Werte nach Kriterien prüfen und auf Blätter verteilen

Home

Gruppe

Allgemein

Problem

Die Werte aus den Spalten A:B sollen in neue Tabellenblätter kopiert und nach Gruppen bis 100, > 100 bis 1000, > 1000 bis 10000, > 10000 bis 100000 und über 100000 aufgeteilt werden. Für jede Gruppe soll ein einzelnes Tabellenblatt angelegt werden.

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

Sub NachWertKopieren()
   Dim wksSource As Worksheet, wksTarget As Worksheet
   Dim rng As Range
   Dim arr(1 To 4) As Double
   Dim iCounter As Integer, iRow As Integer, iCount As Integer
   Application.ScreenUpdating = False
   Set wksSource = ActiveSheet
   arr(1) = 100
   arr(2) = 1000
   arr(3) = 10000
   arr(4) = 100000
   For iCounter = 1 To 5
      If iCounter = 1 Then
         wksSource.Range("A1").AutoFilter Field:=2, _
            Criteria1:="<=" & CStr(arr(iCounter))
      ElseIf iCounter < 5 Then
         wksSource.Range("A1").AutoFilter Field:=2, _
            Criteria1:=">" & CStr(arr(iCounter - 1)), _
            Operator:=xlAnd, Criteria2:="<=" & _
            CStr(arr(iCounter))
      Else
         wksSource.Range("A1").AutoFilter Field:=2, _
            Criteria1:=">" & CStr(arr(iCounter - 1))
      End If
      iCount = WorksheetFunction.Subtotal(2, _
         wksSource.Range("A1").CurrentRegion)
      If iCount > 0 Then
         Set rng = wksSource.Range("A1").CurrentRegion _
            .SpecialCells(xlCellTypeVisible)
         On Error Resume Next
         Set wksTarget = Worksheets(wksSource _
            .AutoFilter.Filters(2).Criteria1)
         If Err > 0 Or wksTarget Is Nothing Then
            Err.Clear
            Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
            ActiveSheet.Name = _
               wksSource.AutoFilter.Filters(2).Criteria1
            rng.Copy Range("A3")
            Rows(3).Delete
         Else
            iRow = wksTarget.Cells(Rows.Count, 1).End(xlUp).Row + 1
            rng.Copy wksTarget.Cells(iRow, 1)
            wksTarget.Rows(iRow).Delete
         End If
         On Error GoTo 0
      End If
   Next iCounter
   wksSource.Select
   ActiveSheet.AutoFilterMode = False
   Application.ScreenUpdating = True
End Sub

Beiträge aus dem Excel-Forum zu den Themen Allgemein und Kopieren

Finden und Kopieren Nur Text in die Zwischenablage kopieren
Kopieren Spalte aus AutofilterTabelle Daten in "Excel-Datenbank" kopieren
Spalten kopieren Komplettes Excel Sheet kopieren mit Formaten
Tab. kopieren & neue Daten in Datenbank einfuegen Inhalte von einer PDF suchen und den Text kopieren
Datensatz kopieren+einfügen - Code verinfachen VBA- aus anderer Mappe kopieren)mit Kriterium)
Datum abfragen und Werte kopieren sverweis klappt nicht ( bei runter kopieren)
Bestimmten Bereich anhand Zeilenabgabe kopieren VBA Suchen, kopieren, einfügen
VBA bestimmte Spalten kopieren Namen der Tabellen kopieren
Finden und kopieren Array in Tabelle kopieren, Verlust von Format
VBA: Kopieren nicht vorhandener Werte Zeile automatisch hoch kopieren
Spalte in andere Dateien kopieren + zurückkopieren kopieren von Zeilen in ein neues Sheet
VBA - Neues Tabellenblatt soll altes kopieren Zeilen in anderes Tabellenblatt kopieren
Daten kopieren mit Bedingung Ordner mit Unterordnern/Dateien kopieren
Gefilterte Tabelle kopieren Daten aus worksheets kopieren
Kopieren wenn Daten aus Excel in andere Software kopieren
Kopieren über 2 Dateien? Formelspalten in viele Tabellenblätter kopieren
2 Dateien Vergleichen und Spalten kopieren? 2 Dateien Vergleichen und Spalten kopieren?
Zeile einfügen, Daten kopieren und transponieren Probleme beim Kopieren Word Tabelle nach Excel
Sheet aus File kopieren und in zig andere einfügen Makro Zelleninhalte kopieren und einfügen
String mit Buchstaben & Zahlen suchen und kopieren Daten zwischen Arbeitsblättern per Makro? kopieren
Format mit VBA kopieren Makro - Selektieren Kopieren und Einfügen
Automatisches Kopieren von Blättern kopieren, sheet benennen, automatisch speichern
Suchen und Kopieren mit Schleife Kopieren und inhalte einfügen Makro
Zelle hochzählen und erhaltenen Wert kopieren Blatt kopieren
Excel schmiert beim Kopieren ab