Excel Makro Zeile löschen

Dieses Thema im Forum "Anwendungssoftware" wurde erstellt von Buzzer, 23. April 2009 .

  1. 23. April 2009
    Hallo Leute,

    leider kann ich überhaupt keine Makros für Excel schreiben, ich denke aber es ist ganz einfach was ich brauche, vll. kann mir jemand helfen.

    Ich brauche ein Makro das alle Zellen nach dem Text "noch zu liefern" durchsucht und dann die ganze Zeile löscht.

    Wäre nice wenn mir das jemand kurz posten könnte.

    BW ist klar

    Edit: Ich bräuchte dann das gleiche Makro nochmal, aber so das es nur den Inhalt der ganzen Zeile löscht.

    Hoffe ihr könnt mir helfen
     
  2. 23. April 2009
    AW: Excel Makro Zeile löschen

    hää?

    einfach suchen & ersetzten?

    suche nache: noch zu liefern
    ersetzten durch:

    Gruß BenQ
     
  3. 23. April 2009
    AW: Excel Makro Zeile löschen

    Ne ich hab ne Tabelle in der steht immer in der Spalte C "noch zu liefern"

    Aber eben nicht in jeder Zeile sondern nur Zeile 3 12 15 17 25 usw.

    Ich möchte jetzt das er mir das ganze Arbeitsblatt durchsucht und immer wenn in einer Zeile "noch zu liefern" steht, die ganze Zeile löscht.

    Also ich glaube sowas wie hier:

    Code:
    Sub test() 
    Dim Letzte As Long 
     Letzte = Range("A1").End(xlUp).Row 
     For i = Letzte To 1 Step -1 
     If InStr(Cells(i, 1).Value, "weg") > 0 Then 
     Rows(i).Delete shift:=xlUp 
     End If 
     Next 
    End Sub 
    
    Müsste dann bei mir folgendes sein:

    Code:
    Sub test() 
    Dim Letzte As Long 
     Letzte = Range("C1").End(xlUp).Row 
     For i = Letzte To 1 Step -1 
     If InStr(Cells(i, 1).Value, "noch zu liefern") > 0 Then 
     Rows(i).Delete shift:=xlUp 
     End If 
     Next 
    End Sub 
    
    Edit//

    So ich bin einen Schritt weiter:

    Code:
    Sub test() 
    Dim Letzte As Long 
     Letzte = Range("C1").End(xlUp).Row 
     For i = Letzte To 1 Step -1 
     If InStr(Cells(i, 3).Value, "noch zu liefern") > 0 Then 
     Rows(i).Delete shift:=xlUp 
     End If 
     Next 
    End Sub 
    
    So klappt es in Spalte C, leider nur in der ersten Zeile -.- wo ist der Fehler?


    Edit#2 //

    ICH HABS ^^

    Code:
    Sub test() 
    Dim Letzte As Long 
     Letzte = Range("C9999").End(xlUp).Row 
     For i = Letzte To 1 Step -1 
     If InStr(Cells(i, 3).Value, "noch zu liefern") > 0 Then 
     Rows(i).Delete shift:=xlUp 
     End If 
     Next 
    End Sub 
    
     
  4. 23. April 2009
    AW: Excel Makro Zeile löschen

    hättest auf der Seite mal nach unten scollren sollen
    Try it

    Code:
    Sub test()
    Dim Letzte As Long
     Letzte = Range("E65536").End(xlUp).Row
     For i = Letzte To 1 Step -1
     If InStr(Cells(i, 5).Value, "noch zu liefern") > 0 Or _
     InStr(Cells(i, 10).Value, "noch zu liefern") > 0 Then
     Rows(i).Delete shift:=xlUp
     End If
     Next
    End Sub
    
    bzw, dabei wird nur E & J durchsucht
     
  5. 23. April 2009
    AW: Excel Makro Zeile löschen

    =) hihi das mach ich ja grade ^^

    Wie lautet denn der Befehl um nicht die Zeile sondern den Inhalt der ganzen Zeile zu löschen???
     
  6. 23. April 2009
    AW: Excel Makro Zeile löschen

    kA wie der heißt^^

    hängt aber damit zusammen:

    If InStr(Cells(i, 5).Value, "noch zu liefern") > 0 Or _ = Spalte E
    InStr(Cells(i, 10).Value, "noch zu liefern") > 0 Then = Spalte J
     
  7. 23. April 2009
    AW: Excel Makro Zeile löschen

    Jap vermut ich auch

    Befehl zum clearen ist
    Code:
    Selection.ClearContents
    
    aber ich bekomm den nicht eingebaut *gg

    Edit:

    Also ich benutze jetzt

    Code:
    Sub test() 
    Dim Letzte As Long 
     Letzte = Range("C9999").End(xlUp).Row 
     For i = Letzte To 1 Step -1 
     If InStr(Cells(i, 3).Value, "noch zu liefern") > 0 Then 
     Rows(i).Delete shift:=xlUp 
     End If 
     Next 
    End Sub
    vll. wenn ich den Befehl Delete durch clear ersetze

    Edit#2

    Also diese beiden Varianten funktionieren nicht:

    Code:
    Sub test()
    Dim Letzte As Long
     Letzte = Range("D9999").End(xlUp).Row
     For i = Letzte To 1 Step -1
     If InStr(Cells(i, 4).Value, "1284") > 0 Then
     [B] Rows(i).Clear shift:=xlUp[/B]
     End If
     Next
    End Sub
    Code:
    Sub test()
    Dim Letzte As Long
     Letzte = Range("D9999").End(xlUp).Row
     For i = Letzte To 1 Step -1
     If InStr(Cells(i, 4).Value, "1284") > 0 Then
     [B]Rows(i).ClearContents shift:=xlUp[/B] 
     End If
     Next
    End Sub
     
  8. 23. April 2009
    AW: Excel Makro Zeile löschen

    jo, aber durch If InStr(Cells(i, 3). gibst du glaub nur spalte C an

    Gruß BenQ
     
  9. 23. April 2009
    AW: Excel Makro Zeile löschen

    Ja ist ja ok so, wenn der Wert in der Spalte ist, kein Ding.

    Hab es jetzt anders gemacht, habe für die zweiter Variante, Suchen nach ersetzen durch genommen geht auch schnell

    Edit:

    Vll kann mir nochmal jemand kurz helfen:

    Code:
    Sub test() 
    Dim Letzte As Long 
     Letzte = Range("C9999").End(xlUp).Row 
     For i = Letzte To 1 Step -1 
     If InStr(Cells(i, 3).Value, "noch zu liefern") > 0 Then 
     Rows(i).Delete shift:=xlUp 
     End If 
     Next 
    End Sub
    Ich möchte jetzt das er nicht nur nach "noch zu liefern" in Spalte C sucht, sondern auch nach "noch zu berechnen"

    Also diese Zeile müsste angepasstw erden, aber ich weis leide rnicht wie
    Code:
     If InStr(Cells(i, 3).Value, "noch zu liefern") > 0 Then 
     
    BW für jede hilfe

    Edit:
    Also ich habe es jetzt anders gelöst, glaube aber es ist nicht die sauberste Lösung.

    Code:
    Sub test() 
    Dim Letzte As Long 
     Letzte = Range("C9999").End(xlUp).Row 
     For i = Letzte To 1 Step -1 
     If InStr(Cells(i, 3).Value, "noch zu liefern") > 0 Or _ 
     InStr(Cells(i, 3).Value, "noch zu berechnen") > 0 Then 
     Rows(i).Delete shift:=xlUp 
     End If 
     Next 
    End Sub
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.