Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen löschen mit Bedingung

Zeilen löschen mit Bedingung
heicumed
Hallo,
ich bin leider absoluter Anfänger was VBA angeht und würde mich deshalb über eure Hilfe freuen!
Mein Problem ist folgendes:
Ich habe zwei Tabellenblätter: "Waveform" und "Artefakte".
Ich möchte in dem Tabellenblatt "Waveform" bestimmte Zeilen löschen.
Welche Zeilen das sind, ist in dem Tabellenblatt "Artefakte" eingetragen.
Dort gibt es eine Spalte "Beginn" und eine Spalte "Ende".
In den Zeilen darunter sind jeweils Start- und Endzeilen für den Löschvorgang eingetragen.
(Beispiel: In der Spalte "Beginn" steht in Zeile 1 13562, in der Spalte "Ende" steht in Zeile 1 13662.
Nun sollen auf dem Tabellenblatt "Waveform" die Zeilen 13562 bis 13662 gelöscht werden.)
Nun muss das ganze aber leider noch an eine weitere Bedingung geknüpft werden.
Die Zeilen im Tabellenblatt "Waveform" sollen nämlich nur dann gelöscht werden, wenn in einer zusätzlichen Spalte "Besonderheit" im Tabellenblatt "Artefakte" die Zahl 7,8,9,10 oder 12 steht.
Das ganze sollte für jede Zeile im Tabellenblatt "Artefakte" durchgeführt werden, bis die Zeile leer ist.
Mich als Anfänger überfordert dieses Problem ziemlich, aber ich hoffe,
ihr habt vielleicht eine Idee für ein Makro!
Vielen Dank für eure Mühen!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
gibt es ein Beispiel?
18.05.2011 15:42:56
Tino
Hallo,
kannst Du ein Beispiel hochladen?
Gruß Tino
AW: gibt es ein Beispiel?
18.05.2011 16:04:56
heicumed
Danke schon einmal für die schnelle Antwort.
Ich habe jetzt eine kleine Testdatei erstellt, vielleicht ist es dann eindeutiger, was ich meine.
https://www.herber.de/bbs/user/74914.xlsx (müsste hochgeladen sein).
Grüße!
AW: gibt es ein Beispiel?
18.05.2011 16:54:44
hary
Hallo
hier mein Versuch. Hiermit werden aber nicht die Zeilen geloescht,nur die Inhalte.
Grund: Wenn Die Start und Endnummern in tab "Artefakte" durcheinander stehen, passt es mit der Zeilennummerierung nach Code ausfuehrung nicht mehr.
Teste mal:

Sub loescheInhalt()
Dim i As Long
With Sheets("Artefakte")
For i = .Cells(.Rows.Count, 3).End(xlUp).Row To 1 Step -1
Select Case Cells(i, 3).Value
Case 7, 8, 9, 10, 12
Sheets("Waveform").Rows(.Cells(i, 1).Value & ":" & .Cells(i, 2).Value).Clear
End Select
Next
End With
End Sub

gruss hary
Anzeige
AW: gibt es ein Beispiel?
18.05.2011 23:06:52
heicumed
Hallo Hary!
Vielen Dank auch für deinen Vorschlag! Vielleicht ist es sogar gut, dass die Zellen nicht ganz gelöscht werden.
Das werde ich mir noch überlegen müssen...
Vielen Dank auf jeden Fall!
AW: gibt es ein Beispiel?
18.05.2011 23:15:45
heicumed
... auch bei dir noch einmal die frage..
in meiner originaldatei ist die erste Zeile durch eine Überschrift belegt.
Wie integriere ich diese Überschrift in dein Makro, sodass die Zeilen, die gelöscht werden der startzeile +1 bzw. der endzeile +1 entsprechen?
Vielen Dank und viele Grüße!
AW:Inhalt loeschen plus 1
19.05.2011 06:09:45
hary
Hallo
das geht dann so. Statt Clear(loescht auch die Formatierung) kannst Du auch ClearContents setzen.

Sub loescheInhalt()
Dim i As Long
With Sheets("Artefakte")
For i = .Cells(.Rows.Count, 3).End(xlUp).Row To 1 Step -1
Select Case Cells(i, 3).Value
Case 7, 8, 9, 10, 12
Sheets("Waveform").Rows(CLng(.Cells(i, 1)) + 1 & ":" & CLng(.Cells(i, 2)) + 1).Clear
End Select
Next
End With
End Sub

gruss hary
Anzeige
AW: AW:Inhalt loeschen plus 1
19.05.2011 08:40:44
heicumed
Danke, Hary!
OT @Tino
18.05.2011 17:06:00
hary
Hallo Tino
frage lohnt es sich in Alter >55 sich noch mit Arrays auseinanderzusetzten ;-)))
Werd ich wohl nie kapieren.
Gruss hary
das kann u. mag ich nicht beantworten,...
18.05.2011 17:39:50
Tino
Hallo,
< manchmal, aber nur manchmal > ist es ganz nützlich. ;-)
Gruß Tino
AW: kannst mal testen.
18.05.2011 22:59:14
heicumed
Hallo Tino,
vielen, vielen Dank für deinen Vorschlag!
Es hat zwar zunächst gerade die Zeilen bei 7,8,9,10 und 12 nicht gelöscht sondern stehen gelassen, aber das habe ich jetzt selbst hinbekommen.
Eine kleine Frage hätte ich noch.
In meiner Originaldatei sind in der ersten Zeile Überschriften, sodass sich die Zeile n die ich löschen will eigentlich auf der Position n+1 befindet. (Das heißt zu Start- und Endzeile des Löschvorgangs muss jeweils 1 addiert werden). Kann ich das noch irgendwie in dein Makro integrieren?
Viele Grüße und nochmal Danke!
Anzeige
AW: Achtung ;-)
18.05.2011 16:11:04
heicumed
Tut mir Leid, das wusste ich tatsächlich nicht. Ich werde es in Zukunft vermeiden.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige