ich habe folgenden Code:
Sub Leerzeilen_löschen()
'Leerzeilen werden gelöscht wenn A und B leer und zum Schluss werden die Daten nach Spalte B ( _
Pos) sortiert
Dim s 'für Inputbox Abfrage Sortierspalte
Dim Datenmatrix_DB_neu As Worksheet
Dim iCalc As Long
On Error GoTo ErrExit
Set Sh_neue_Zustandsbeschreibungen = Sheets("Datenmatrix_DB_neu") 'Deine Tabelle _
anpassen
With Application
iCalc = .Calculation
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
With Sh_neue_Zustandsbeschreibungen
.Unprotect
With .UsedRange.Columns(.UsedRange.Columns.Count).Offset(0, 1)
.FormulaR1C1 = "=IF(AND(ROW()>1,RC1&RC2=""""),TRUE(),ROW())"
Sh_neue_Zustandsbeschreibungen.UsedRange.sort .Cells(1, 1), xlAscending, , , , , , xlNo
On Error Resume Next
.SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
On Error GoTo ErrExit
.EntireColumn.Delete
End With
End With
ErrExit:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = iCalc
End With
Set Datenmatrix_DB_neu = Nothing
s = InputBox("Sortierspalte?")
Select Case s
Case "A" To "D", "a" To "d"
Range("A3:D500").sort key1:=Range(s & "4"), order1:=xlAscending, Header:=xlYes 'oder xlNo = _
Sortiern nach Spalte B
End Select
End Sub
hier werden Daten aus einem Tabellenblatt un das nächste kopiert, dort die Leerzeilen gelöscht und nach einer Auswahlspalte sortiert.Funktioniert auch soweit.
Nur folgendes Problem. Mein Datenbereich erstreckt sich eigentlich nur von A:D (Zeileanzahl beliebig)
In Spalte E stehen beispielsweise naturgemäß Formeln.
Daher möchte ich den Löschbereich auf A:D begrenzen.
Kann mir dazu jmd die Änderung im Code sagen? Habe den code nicht selbst geschrieben und in VBA eine absolute 0!
Besten Dank!
Gruss