Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.07.2024 18:36:17
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Aktive Zeile markieren

VBA Aktive Zeile markieren
Dirk
Hallo Forum,
wie kann ich in VBA eine aktuelle Zeile selektieren?
Ich habe eine Schleife, in der ich in einer Spalte Zellen mit Inhalt 0 suche - wenn ich eine Zelle gefunden habe, dann soll die entsprechende Zeile markiert werden damit ich sie dann löschen kann.
Vielen Dank!
Gruß
Dirk

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Aktive Zeile markieren
08.10.2010 10:52:07
Hajo_Zi
Hallo Dirk,
in VBA ist zu 99,9% select nicht notrwendig.
Nur wenige sehen Deinen Code.

AW: VBA Aktive Zeile markieren
08.10.2010 10:59:16
Dirk
Hallo Hajo,
ich verstehe nur den ersten Satz......
Anfängern verwenden "Select" aber wahrscheinlich zu 99,9% und dazu zähle dann ich. Mit der Erkenntnis ist mein Problem aber nicht gelöst. Ich bin eben noch in dem Stadium, dass ein Code funktionieren soll und ich vor allem weiß wie und warum - dann kann ich ja ans Optimieren gehen..... Schön, wenn ich soweit wäre. Nun aber:
Do Until ActiveCell = ""
ActiveCell.Offset(1, 0).Select
If ActiveCell = 0 Then
"Markiere mir die aktuelle Zeile" (Was kann ich hier hinschreiben?)
Selection.Delete
End If
Loop
Was meinst Du mit "Nur wenige sehen Deinen Code"?
Gruß
Dirk
Anzeige
AW: VBA Aktive Zeile markieren
08.10.2010 11:04:36
welga
Hallo,
z.b. so:
suche in Spalte a den Wert "0" und lösche dann die entsprechende Zeile:
letztezeile = Sheets(1).[a65536].End(xlUp).Row
For i = letztezeile To 1 Step -1
If Cells(i, 1) = 0 And Cells(i, 1) "" Then Rows(i).Delete shift:=xlUp
Next i
Wie Hajo schon gesagt hat, ist ein selektieren nicht nötig
Gruß
AW: VBA Aktive Zeile markieren
08.10.2010 11:09:18
Dirk
Hallo Welga,
vielen Dank! So werde ich es machen. Blöd ist nur, dass ich da selbst nicht drauf gekommen wäre und gern nochmal wüßte, ob mein für mich etwas einfacherer Gedanke auch gehen kann.
Aber trotzdem herzlichen Dank!
Gruß
Dirk
Anzeige
AW: VBA Aktive Zeile markieren
08.10.2010 11:20:15
Luschi
Hallo Dirk,
mir gefällt der folgende Ansatz besser:
https://www.herber.de/forum/messages/1181369.html
hier werden die zu löschenden Zeilen in ein Range-Objekt definiert und dann mit einem einzigen Delete-Befehl aus der Tabelle entfernt.
Gruß von Luschi
aus klein-Paris
AW: VBA Aktive Zeile markieren
08.10.2010 11:20:23
welga
Grundsätzlich vom Gedanken her, sollte dein Lösungsansatz auch funktionieren. Jedochwenn du etwas löschen willst, dann würde ichgenerell von unten anfangen und mich nach oben durch arbeiten.
Dein Code würde z.B. stehen bleiben, sobald eine leere Zelle vorliegt. Da würde ch dann eine Variable (Integer oder Long) einfügen den ich dann immer um 1 wachsen lassen würde.
z.B. so:
i=0
Do Until i=2000 'letzte gewünschte zu untersuchende zeile
if Cells(i+1,1)=0 and Cells(i+1,1)"" then row(i+1).delete shift:=xlup
i=i+1
Loop
Anzeige
AW: VBA Aktive Zeile markieren
08.10.2010 11:37:08
Dirk
Dieser Fall kann nicht vorkommen, da leere Zellen schon vorab innerhalb des Codes rausgelöscht werden - auf einem ähnlichen Weg wie von Dir vorgeschlagen (habe ich mir aber auch mal irgendwoher kopiert und ich wollte es jetzt mal so versuchen, wie ich es auch selbst verfassen könnte...).
Ich habe es jetzt so gemacht wie von Dir vorgeschlagen und es funktioniert. Dennoch würde ich weiterhin gerne wissen, wie ich eine aktive Zeile ohne eine Variable als Zähler markieren kann.... :-)
Ich schaue mir gleich den anderen Vorschlag der gerade gepostet wurde nochmal an - vielleicht geht das in die Richtung. Meine Laienaugen haben das aber auf den ersten Blick als nicht einfacher identifiziert.....
Vielen Dank!
Dirkl
Anzeige
AW: VBA Aktive Zeile markieren
08.10.2010 11:56:12
M.
Ok, wenn du es unbedingt so willst. :)
Ich denke du meinst sowas in der Richtung:
Sub ttt()
ActiveCell.EntireRow.Select
Selection.Delete
End Sub
Gruß
Rudi
AW: VBA Aktive Zeile markieren
08.10.2010 11:49:03
Heinz
Hallo Dirk,
wenn du es unbedingt willst, dann so:
rows(activecell.row).delete
Gruß
Heinz

26 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige