Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: InputBox und Zeilen löschen

InputBox und Zeilen löschen
01.09.2020 10:51:34
Michel
Hallo in die Runde
Ich habe folgenden Code, bei dem der Nutzer eine Spalte auswählen kann und dann anhand dieser Spalte die leeren Zeilen gelöscht werden.
  • 
    Sub LeereZeilenLöschen()
    Dim i As Integer, rws As Long, spalte As Integer
    spalte = InputBox("Welche ist Ihre Referenzspalte?")
    rws = Cells(rows.Count, Columns(spalte)).End(xlUp).Row
    For i = rws To 1 Step (-1)
    If IsEmpty(Cells(i, 1)) = True Then
    rows(i).Delete
    End If
    Next
    End Sub
    


  • Am liebsten wäre mir, wenn der Nutzer nicht die Spaltennummer, sondern den Buchstaben der Spalte eingeben kann.
    Ich freue mich auf Eure Hilfe
    VG Michel
    Anzeige

    10
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: InputBox und Zeilen löschen
    01.09.2020 11:20:15
    Rudi
    Hallo,
    z.B.
    Sub LeereZeilenLöschen()
    Dim i As Integer, rws As Long, spalte
    spalte = InputBox("Welche ist Ihre Referenzspalte?")
    If Not IsNumeric(spalte) Then spalte = Range(spalte & "1").Column
    rws = Cells(Rows.Count, Columns(spalte)).End(xlUp).Row
    For i = rws To 1 Step (-1)
    If IsEmpty(Cells(i, 1)) = True Then
    Rows(i).Delete
    End If
    Next
    End Sub
    

    Gruß
    Rudi
    Anzeige
    AW: InputBox und Zeilen löschen
    01.09.2020 11:24:25
    Michel
    Hi Rudi,
    Du hast "spalte" nicht deklariert. Ich habe es einmal als Integer und einmal als String deklariert. Leider kommt bei beiden noch eine Fehler...
    VG Michel
    AW: InputBox und Zeilen löschen
    01.09.2020 11:36:48
    Werner
    Hallo,
    Sub LeereZeilenLöschen()
    Dim i As Integer, rws As Long, spalte As String
    spalte = InputBox("Welche ist Ihre Referenzspalte?")
    If Not IsNumeric(spalte) Then spalte = Range(spalte & "1").Column
    rws = Cells(Rows.Count, CLng(spalte)).End(xlUp).Row
    For i = rws To 1 Step (-1)
    If IsEmpty(Cells(i, 1)) = True Then
    Rows(i).Delete
    End If
    Next
    End Sub
    
    Gruß Werner
    Anzeige
    AW: InputBox und Zeilen löschen
    01.09.2020 11:42:33
    Michel
    Mhh, bei mir tut sich da nicht viel.
    Hast Du es bei Dir einmal ausprobiert oder muss ich noch etwas beachten?
    Hoffenlich verrennst Du Dich hier nicht ...
    01.09.2020 11:56:40
    Matthias
    Hallo
    Warum brauchst Du eine Referenzspalte als Inputbox, wenn Du dann in der Schleife die Spalte(1)
    auf leer prüfst.
    Wenn Deine Spalte("A") also Spalte(1) leer ist löschst Du so ALLE Zeilen.
    Gruß Matthias
    Anzeige
    AW: InputBox und Zeilen löschen
    01.09.2020 12:04:59
    Werner
    Hallo,
    Sub LeereZeilenLöschen()
    Dim i As Integer, rws As Long, spalte As String
    Application.ScreenUpdating = False
    spalte = InputBox("Welche ist Ihre Referenzspalte?")
    If Not spalte = vbNullString Then
    If Not IsNumeric(spalte) Then
    spalte = Range(spalte & "1").Column
    rws = Cells(Rows.Count, CLng(spalte)).End(xlUp).Row
    For i = rws To 1 Step (-1)
    If IsEmpty(Cells(i, CLng(spalte))) Then
    Rows(i).Delete
    End If
    Next
    End If
    End If
    End Sub
    
    Gruß Werner
    Anzeige
    AW: InputBox und Zeilen löschen
    01.09.2020 12:12:05
    Michel
    Jetzt funktioniert es einwandfrei. Vielen Dank an alle Helfer!
    Schönen Tag noch!
    Gerne u. Danke für die Rückmeldung. o.w.T.
    01.09.2020 12:16:59
    Werner
    nicht deklariert?
    01.09.2020 12:33:16
    Rudi
    natürlich.
    Dim i As Integer, rws As Long, spalte
    

    wenn kein Typ angegeben ist, ist es Variant.
    Anzeige
    AW: Ohne Schleife
    01.09.2020 13:14:27
    Gerd
    Moin
    Sub DelRows()
    Dim Spalte As Variant, C As Range
    Spalte = InputBox("Welche ist Ihre Referenzspalte?")
    On Error Resume Next
    Set C = Cells(1, Spalte).EntireColumn
    On Error GoTo 0
    If Not C Is Nothing Then
    If WorksheetFunction.CountBlank(C) > 0 Then
    C.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End If
    Set C = Nothing
    End If
    End Sub
    

    Gruß Gerd
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige