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

Sortierten Bereich zählen und neue Spalte beginnen

Sortierten Bereich zählen und neue Spalte beginnen
23.02.2017 10:22:29
sarah
Hallo ihr Lieben,
ich hänge grad einer wahrscheinlich gar nicht so komplizierten Aufgabe. Ich will in einen sortieren Bereich alle Zeilen zählen (funktioniert auch soweit) - und wenn mehr als 12 Zeilen in der Spalte enthalten sind, sollen alle weiteren Zeilen in eine neue Spalte verschoben werden.
Dim z As Long, lstcount As Integer
lstcount = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
'sortieren
Sheets("Tabelle1").Range("A1:A1000").Sort Key1:=Sheets("Tabelle1").Range("A1:A1000"), Header:=xlNo, Order1:=xlDescending
If Sheets("Tabelle1").UsedRange.Count (größer Symbol) 12 Then
For i = 13 To UBound(lstcount, 1)
Sheets("Tabelle1").Cells(z, 1).Copy
Sheets("Tabelle1").Cells(z, 2).Insert
Sheets("Tabelle1").Cells(z, 1).ClearContents
Next
End If
Bei der Schleife scheint der Fehler zu sein...
Danke u Gruß,
Sarah

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Vorschlag
23.02.2017 10:59:06
Max2
Hallo, anbei Mappe mit Code: https://www.herber.de/bbs/user/111688.xlsm
Hier nur Code:

Option Explicit
Dim ws As Worksheet
Dim lzeile As Long
Sub verschieben()
Dim rng, c As Range
Dim i, j
j = 2
i = 0
Set ws = ThisWorkbook.Sheets(1)
With ws
lzeile = .Cells(.Rows.Count, 1).End(xlUp).Row
Set rng = .Range(.Cells(2, 1), .Cells(lzeile, 1))
For Each c In rng
i = i + 1
If i = 13 Then
Set rng = .Range(.Cells(c.Row, 1), _
.Cells(c.Row + 11, 1))
rng.Select
Selection.Copy
.Range(.Cells(2, j), .Cells(12, j)) _
.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlPasteSpecialOperationNone
j = j + 1
i = 1
End If
Next c
Set rng = .Range(.Cells(14, 1), .Cells(lzeile, 1))
rng.ClearContents
.Range("A2").Select
End With
End Sub
Sub entfernen()
Dim lspalte As Long
Set ws = ThisWorkbook.Sheets(1)
With ws
lzeile = .Cells(.Rows.Count, 1).End(xlUp).Row
lspalte = .Cells(2, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(2, 1), .Cells(lzeile, lspalte)).ClearContents
End With
End Sub

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige