#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 + Multi-Zitat Zitieren
#2 23. April 2009 AW: Excel Makro Zeile löschen hää? einfach suchen & ersetzten? suche nache: noch zu liefern ersetzten durch: Gruß BenQ + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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??? + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren