Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
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
Inhaltsverzeichnis

kurze Anpassung

kurze Anpassung
04.10.2017 13:30:48
Nadine
Hallihallo,
ich bin auf diesen Code gestoßen, der soweit auch funktioniert:
  • Sub SpaltenLoeschen()
    Dim Spalte As Integer
    Dim letztespalte As Integer
    With Tabelle1
    letztespalte = .UsedRange.Columns.Count
    For Spalte = letztespalte To 1 Step -1
    If .Cells(5, Spalte).Value = "" Then
    .Columns(Spalte).Delete
    End If
    Next Spalte
    End With
    End Sub
    


  • Er durchsucht jede Spalte und löscht jede Spalte in dem die 5. Zeile leer ist.
    Kann man den Code so verändern, dass das Makro nicht nur die 5. Zelle betrachtet,
    sondern die Spalte nur löscht, wenn ab der 5. Zeile die gesamte Spalte leer ist?
    Vielen lieben Dank und freundliche Grüße
    Nadine

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Nachfrage
    04.10.2017 13:41:57
    Werner
    Hallo Nadine,
    stellt sich die Frage, was soll passieren, wenn die Spalte nur bis zur 4. Zeile gefüllt ist, oder nur bis zur 3. Zeile, oder wenn sie ganz leer ist - dann auch löschen?
    Gruß Werner
    AW: Nachfrage
    04.10.2017 14:00:05
    Nadine
    Hallo Werner,
    die ersten 4 Zeilen müssten eigentlich immer gefüllt sein, deswegen muss man diese wahrscheinlich nicht betrachten. Allerdings könnten die Spalten bei einem solchen Fehler auch dann gelöscht werden :)
    Relevant ist eigentlich nur: falls in Spalte .. nach der 4. Zeile kein Inhalt, dann löschen.
    AW: Nachfrage
    04.10.2017 14:46:36
    Robert
    Hallo Nadine,
    eine Möglichkeit wäre, den Code innerhalb der For-Schleife wie folgt zu ändern:
    If Application.WorksheetFunction.CountA(Range(.Cells(5, Spalte), .Cells(1048576, Spalte))) = 0  _
    Then
    .Columns(spalte).Delete
    End If
    
    Gruß
    Robert
    Anzeige
    AW: Nachfrage
    04.10.2017 15:27:21
    Nadine
    Sieht aus als funktioniert es perfekt!
    Vielen Dank, dieses Forum ist einfach super!

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige