wie kann ich per VBA den Inhalt der letzten - nicht leeren - Zelle des Zellbereichs A10:A30 entfernen.
Im Voraus besten Dank für eure Hilfen.
mfg
Fritz
Sub LeoscheLetztenWert()
Dim lngRow&
With Sheets("Tabelle1") 'Tabelle anpassen
lngRow = .Cells(31, 1).End(xlUp).Row
If lngRow > 9 Then
.Cells(lngRow, 1).ClearContents
End If
End With
End Sub
Gruß TinoOption Explicit
Sub TestIt()
Dim lngLR&
Const lngLMT As Long = 30
With ThisWorkbook.Sheets("Tabelle1") 'Tabelle anpassen
lngLR = IIf(Len(.Cells(lngLMT, 1)), lngLMT, .Cells(lngLMT, 1).End(xlUp).Row)
If lngLR > 9 Then .Cells(lngLR, 1).ClearContents
End With
End Sub
GrußUm den Inhalt der letzten gefüllten Zelle im Bereich A10:A30 per VBA zu löschen, kannst du den folgenden Code verwenden:
Sub LeoscheLetztenWert()
Dim lngRow As Long
With Sheets("Tabelle1") ' Tabelle anpassen
lngRow = .Cells(31, 1).End(xlUp).Row
If lngRow > 9 Then
.Cells(lngRow, 1).ClearContents
End If
End With
End Sub
ALT + F11
, um den VBA-Editor zu starten.Einfügen
> Modul
klickst.ALT + F8
drückst und das Makro auswählst.Problem: Das Makro liefert einen Fehler, wenn Zelle A31 nicht leer ist.
Problem: Der Inhalt der falschen Zelle wird gelöscht.
Eine alternative Methode besteht darin, die letzte gefüllte Zelle mit einer Bedingung zu ermitteln:
Option Explicit
Sub TestIt()
Dim lngLR As Long
Const lngLMT As Long = 30
With ThisWorkbook.Sheets("Tabelle1") ' Tabelle anpassen
lngLR = IIf(Len(.Cells(lngLMT, 1)), lngLMT, .Cells(lngLMT, 1).End(xlUp).Row)
If lngLR > 9 Then .Cells(lngLR, 1).ClearContents
End With
End Sub
Diese Methode prüft, ob die Zelle in A30 leer ist, bevor sie die letzte gefüllte Zelle findet.
Wenn du den Inhalt der letzten gefüllten Zelle in einem anderen Bereich (z.B. B10:B30) löschen möchtest, passe die Zellenreferenzen im Code entsprechend an:
Sub LeoscheLetztenWertB()
Dim lngRow As Long
With Sheets("Tabelle1") ' Tabelle anpassen
lngRow = .Cells(31, 2).End(xlUp).Row ' Spalte B
If lngRow > 9 Then
.Cells(lngRow, 2).ClearContents
End If
End With
End Sub
Option Explicit
: Dies hilft dir, Fehler durch vergessene Variablen zu vermeiden.1. Frage: Funktioniert dieser Code auch in Excel 365?
Antwort: Ja, der Code ist mit Excel 365 sowie älteren Versionen kompatibel.
2. Frage: Was passiert, wenn alle Zellen im Bereich leer sind?
Antwort: In diesem Fall wird keine Zelle gelöscht, da die Bedingung im Code nicht erfüllt ist.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen