Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro zum löschen





Frage

Hallo, dringendes Problem: Ich will in einer bestimmten Reihenfolge Zeilen löschen. Das ab einer bestimmten Zeile die ich markiere. Dann jedoch immer mit den gleichen Zeilenabständen. Für diesen Arbeitschritt gibt es doch sicherlich ein Makro was man konstruieren kann? Also 3 Zeilen makieren dann löschen dann 2 Zeilen weiter runter dann 6 Zeieln makieren und löschen wieder 3 weiter runter 12 löschen... Wie lauten da die Befehle?

Antwort 1 von Nachtrabe

Hallo Christian,

an sich ist es kein Problem mit

Sub ZeileLöschen

Selection.EntireRow.Delete 

End Sub

eine Zeile zu löschen.
Zunächst schreibst du, daß die Abstände immer gleich sind, in deinem Beispiel jedoch sind sie es nicht. Auch die Anzahl an Zeilen, die du löschen willst, ist unterschiedlich.

Vielleicht beschreibst du es etwas genauer, dann kann ich dir mehr helfen.

Grüße
Nachtrabe



Antwort 2 von Ibue

Hallo,

ich hatte ein ähnliches Problem und habe hier im forum ein passendes Makro gefunden, welches ich mir dann von Günther habe noch umschreiben lassen, so das es für meine Wünsche passt.


Das Makro:
Option Explicit

Sub test()
Dim i As Integer
Dim n As Integer
i = Cells(Rows.Count, 1).End(xlUp).Row
For n = i To 1 Step -1
If Cells(n, 1).Value = -1 Then
Rows(n).Select
Selection.Delete Shift:=xlUp
End If
Next
End Sub


Ich habe einfach eine Weitere Spalte eingefügt dann über eine Wenn funktion festgelegt was passieren soll wenn eine flascher Wert in einer Zeile steht.

Bei einem falschen Wert trägt die Wenn funktion -1 in das Feld ein und obenstehendes Makro löscht alle Zeilen mit dem Wert -1

If Cells(n, 1).Value = -1 Then <-- hier muss die Spalte angegeben werden 1 steht für 2 für B usw.

war einfach als ich dachte.

die wenn funktion ist die hier:

wenn(Links("Zelle";1)="R";-1;"Zelle"

"Zelle" steht für A1 zum Beispiel
und R ist das erste Zeichen von Links.
R kann auch 1 oder C usw. heissen



Antwort 3 von nighty

hi Christjan :)

wie gewuenscht :))

gruss nighty

Option Explicit
Sub makro01()
Dim zaehler As Long
Dim zaehler0 As Long
Dim zaehler1 As Long
Dim zaehler2 As Long
zaehler0 = 2
zaehler1 = 3
zaehler2 = Selection.Row
For zaehler = zaehler2 To Cells(Rows.Count, 1).End(xlUp).Row
If zaehler2 + zaehler1 < Cells(Rows.Count, 1).End(xlUp).Row Then
Range("A" & zaehler2 & ":A" & zaehler2 + zaehler1 - 1).EntireRow.Delete
zaehler2 = zaehler2 + zaehler0
zaehler0 = zaehler0 + 1
zaehler1 = zaehler1 * 2
Else
Exit For
End If
Next zaehler
End Sub


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: