Letzte Zeile mit Werten finden und löschen

starbug

Erfahrenes Mitglied
Hallo,

so ich habe nun doch noch eine weitere Frage. Und zwar möchte ich mit
die letzte Zeile welche mit Werten versehen ist ( die sind für mich nämlich
nicht brauchbar) aus meiner Excel Tabelle löschen und zwar mit VBA.
Hab hier mal was versucht was allerdings nicht funktioniert:
Code:
        Dim zeile
        zeile = 2
        While ActiveSheet.Cells(zeile, 3) <> ""
         If ActiveSheet.Cells(zeile, 1) = "" Then
            ActiveSheet.Cells(zeile, 2) = ""
            ActiveSheet.Cells(zeile, 4) = ""
         Else
         
         ActiveSheet.Cells(zeile, 3) = plant
         ActiveSheet.Cells(zeile, 4) = Tag
         End If
         
         zeile = zeile + 1
         Wend

Die Werte in der letzten Spalte belieben dann aber noch erhalten. Übrigens ist die erste Zelle
der letzten Spalte immer leer daher die If Abfrage
 
Moin starbug,

irgendwie finde ich nicht so recht die Verbindung zwischen deiner Anforderung und dem Code ... Also, wenn du die letzte Datenzeile komplett löschen willst, dann probiere einmal diesen Code:
Code:
Option Explicit

Sub ZeileLoeschen()
   Dim LastRow As Long, LastCol As Integer
   Dim lRow As Long, lCol As Integer
   Dim i As Long
   
   'Maximale Werte feststellen
   With ActiveSheet
      lCol = .UsedRange.Columns.Count
      lRow = .UsedRange.Rows.Count
      For i = 1 To lCol
         LastRow = Application.WorksheetFunction.Max(.Cells(Rows.Count, i).End(xlUp).Row, LastRow)
      Next i
      For i = 1 To lRow
         LastCol = Application.WorksheetFunction.Max(.Cells(i, Columns.Count).End(xlToLeft).Column, LastCol)
      Next i
   End With
   
   'letzte Zeile mit Daten komplett löschen
   Rows(LastRow).EntireRow.Delete
End Sub
 
Grüezi starbug

Die folgenden Zeilen löschen immer die letzte Zeile im aktiven Tabellenblatt die Daten enthält:


Code:
Public Sub tr_DeleteLastRow()
    With ActiveSheet
        If WorksheetFunction.CountA(.Cells) > 0 Then
            .Cells.Find(What:="*", _
                        SearchOrder:=xlByRows, _
                        SearchDirection:=xlPrevious).EntireRow.Delete
        End If
    End With
End Sub
 
Guten Morgen,

danke für eure Tips. Es hat alles wunderbar funktioniert, vor allem dein Code Thomas ist
sehr elegant :-)
 

Neue Beiträge

Zurück