Microsoft Excel

Herbers Excel/VBA-Archiv

Makro - Nullstellen - Zeilen löschen | Herbers Excel-Forum


Betrifft: Makro - Nullstellen - Zeilen löschen von: Vohnkar
Geschrieben am: 06.12.2009 13:16:00

Schönen Sonntag liebe Experten,
Ich habe schon ein bisschen mit VBA gearbeitet, allerdings nur mit Macrorecorder. Ich glaube, was ich gerade erreichen will benötigt ein Macro, da über die Möglichkeiten des Recorders hinausgeht.

Ich möche in einem Excel-Sheet alle Zeilen entfernen, in der eine bestimmte Spalte eine Null enthält. Da ich die Datei immer wieder verwenden möchte und somit neue Nullstellen dazukommen werden, möchte ich die Zeilen nicht sortieren/händisch löschen. Die Zeilen sollen gelöscht und nicht versteckt werden.
Kann mir dabei jemand helfen?
Danke, liebe Grüße,
Vohnkar

  

Betrifft: AW: Makro - Nullstellen - Zeilen löschen von: Tino
Geschrieben am: 06.12.2009 13:38:30

Hallo,
kannst ja mal testen, Tabellenname und Spalte im Code noch anpassen.

Sub Loeschen_Mit_Formelunterstuetzung()
Dim oSH As Worksheet, iCalc As Integer
Dim strSuchwert As String
Dim SucheInSpalte As String


strSuchwert = "0" 'Dein Suchwert 
SucheInSpalte = "2" 'In welcher Spalte gesucht werden soll 

Set oSH = Sheets("Tabelle1") 'Tabelle anpassen 

With Application
 iCalc = .Calculation
 .Calculation = xlCalculationManual
 .ScreenUpdating = False
 
     With oSH.UsedRange
        With .Columns(.Columns.Count).Offset(0, 1)
            
            .Formula = "=IF(TEXT(RC" & SucheInSpalte & ",""@"")=""" & strSuchwert & """,True,ROW())" 'entsprechende Formel 
            
            oSH.UsedRange.Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlNo
            
            On Error Resume Next
            .SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
            On Error GoTo 0
            
            .EntireColumn.Delete
        End With
     End With
 
 .ScreenUpdating = True
 .Calculation = iCalc
End With

End Sub
Gruß Tino


  

Betrifft: AW: Makro - Nullstellen - Zeilen löschen von: Vohnkar
Geschrieben am: 06.12.2009 15:32:41

Danke dir Tino, das funktioniert perfekt!


  

Betrifft: AW: ohne Makro, zum Aufzeichnen von: Daniel
Geschrieben am: 06.12.2009 14:45:20

Hi

wenn die 0 ein fix-Wert ist und alleine in der Zelle steht, dann kann man das durchaus von Hand schnell erledigen und mit dem Recorder aufzeichnen:

1. in der entsprechenden Spalte alle 0 durch WAHR ersetzen
2. entsprechende Spalte markieren
3. BEARBEITEN - GEHE ZU - INHALTE klicken, dort KONSTANTEN und WAHRHEITSWERTE auswählen
4. BEARBEITEN - ZELLEN LÖSCHEN klicken und dann GANZE ZEILE auswählen

Gruß, Daniel
ps: Wahrheitswerte sollten in der entsprechenden Spalte auch nicht vorkommen, aber die sind eh eher selten.


  

Betrifft: AW: ohne Makro, zum Aufzeichnen von: Vohnkar
Geschrieben am: 06.12.2009 15:34:37

Danke für den Tip, Daniel. Ist eine super Möglichkeit ein Macro zu umgehen!
Liebe Grüße


Beiträge aus den Excel-Beispielen zum Thema "Makro - Nullstellen - Zeilen löschen"