AW: Unbestimmten Bereich löschen über Button
10.12.2018 19:27:07
Sepp
Hallo Fred,
probier mal
Sub loeschen()
Dim lngLast As Long
With ActiveSheet
lngLast = lastCell("A1:N10000")
If lngLast > 20 Then
.Range(.Cells(11, 1), .Cells(lngLast - 10, 1)).EntireRow.Delete
End If
End With
End Sub
Private Function lastCell(ByVal RangeAddress As String, Optional ByVal lastRow As Boolean = True) As Long
Dim varLast As Variant
If lastRow Then
varLast = Evaluate("MAX(IF(" & RangeAddress & "<>"""",ROW(" & RangeAddress & ")))")
Else
varLast = Evaluate("MAX(IF(" & RangeAddress & "<>"""",COLUMN(" & RangeAddress & ")))")
End If
If IsError(varLast) Then
lastCell = -1
Else
lastCell = varLast
End If
End Function
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0
Wenn man die letzte benutzte Zeile auch an der Spalte A festmachen kann, dann genügt.
Sub loeschen()
Dim lngLast As Long
With ActiveSheet
lngLast = Application.Max(20, .Cells(.Rows.Count, 1).End(xlUp).Row)
If lngLast > 20 Then
.Range(.Cells(11, 1), .Cells(lngLast - 10, 1)).EntireRow.Delete
End If
End With
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0