Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

    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
    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
    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.
    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

    303 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige