mich interessiert wie man in die Variable LZN die letzte (höchste) Zeilennummer der Zelle mit Inhalt in Spalte A ermitteln und speichern kann.
Gruß
Jean
=Wenn(Rest(Zeile();2)=0;0;Zeile())
=Wenn(Rest(Zeile();2)=0;Zeile();0)
with ActiveSheet.Usedrange
With .columns(.columns.count + 1) ' erste freie Spalte am Tabellenende
.formulaR1C1 = "=IF(Mod(Row(),2)=0,0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.Removeduplicates .column, xlno
.clearContents
end with
end with
gruß Daniel
Sub test()
hsp = 4 'HilfsSpaltenNr
azn = 2 'AnfangsZeilenNr
'lzn Letzte ZeilenNr
With ActiveSheet.UsedRange
lzn = Columns(1).Find(what:="?*", lookat:=xlWhole, LookIn:=xlValues, Searchdirection:= _
xlPrevious).Row
End With
anzahl = lzn - azn + 1 'anzahl = echte Zeilen
For i = azn To lzn
Cells(i, hsp) = Cells(i, hsp).Row()
Cells(i + anzahl, hsp).Value = Cells(i, hsp).Value
Next i
Range(Cells(azn, hsp), Cells(azn + 2 * anzahl - 1)).Select
' das Sortieren klappt nicht
End Sub
Gruß
Range(Cells(azn, 1), Cells(azn + 2 * anzahl - 1, hsp)).Sort _
key1:=Cells(azn, hsp), _
order1:=xlAscending, _
Header:=xlNo
Columns(hsp).ClearContents
Prinzipell gefällt mir das schon mal ganz gut, nur das mit der Schleife ist suboptimal.Sub test()
hsp = 4 'HilfsSpaltenNr
azn = 2 'AnfangsZeilenNr
'lzn Letzte ZeilenNr
With ActiveSheet.UsedRange
lzn = Columns(1).Find(what:="?*", lookat:=xlWhole, LookIn:=xlValues, Searchdirection:= _
xlPrevious).Row
End With
anzahl = lzn - azn + 1 'anzahl = echte Zeilen
With Range(Cells(azn, hsp), Cells(lzn, hsp))
.FormulaLocal = "=Zeile()"
.Copy
With .Resize(.Rows.Count * 2)
.PasteSpecial xlPasteValues
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlNo
.ClearContents
End With
End With
End Sub
Gruß Daniel