2016-04-01 12 views
0

Wie kann ich alle Zeilen löschen, die nur Formel in Spalte A enthalten? Ich muss es löschen, damit ich kein Problem habe, wenn ich Bereich wähle oder wenn ich Makro aufnehme.VBA/Makro zum Löschen der gesamten Zeile mit "nur Formel"

Ich habe versucht:

Selection.AutoFilter 
    ActiveSheet.Range("$A:$L").AutoFilter Field:=1, Criteria1:="#REF!" 
    Rows("720:720").Select 
    Range(Selection, Selection.End(xlDown)).Select 
    Selection.delete Shift:=xlUp 
    ActiveWindow.SmallScroll Down:=-27 
    ActiveSheet.Range("$A$1:$L$719").AutoFilter Field:=1 

und:

Dim c As Range 
    Dim SrchRng 

    Set SrchRng = ActiveSheet.Range("A1", ActiveSheet.Range("A1000000").End(xlUp)) 
    Do 
     Set c = SrchRng.Find("=+LEFT(#REF!,2)", LookIn:=xlValues) 
     If Not c Is Nothing Then c.EntireRow.delete 
    Loop While Not c Is Nothing 

aber nichts funktioniert. Ich habe versucht, alle Zeilen zu löschen, die #REF oder die Formel selbst "=+LEFT(#REF!,2)" hat, aber immer noch kein Glück.

Ich muss alle/ganze Zeilen löschen, die nur Formel hat. Diese Formeln sind in Column A

+0

Verwendung isformula() Funktion –

Antwort

1

bitte die folgenden Code

Sub DeleteFormulaCells() 
    lastrow = Range("A" & Rows.Count).End(xlUp).Row 
    For i = 1 To lastrow 
     If Range("A" & i).HasFormula() = True Then 
      Rows(i).EntireRow.Delete 
      lastrow = lastrow - 1 
     End If 
    Next i 
End Sub 
+0

es half sehen mich mein Problem gelöst. Vielen Dank! – markerbean

1

versuchen, diese

Sub DeleteRowsWithFormulas() 
ActiveSheet.Columns("A").SpecialCells(xlCellTypeFormulas).EntireRow.Delete 
End Sub 
Verwandte Themen