VBA Code zum Löschen von ganzen zeilen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: VBA Code zum Löschen von ganzen zeilen
von: Peter Wenzel
Geschrieben am: 18.11.2003 11:48:07

Hallo,
ich habe folgende Probleme.
1.)Ich will eine .txt datei in Exel Importieren. Das funktioiert auch ganz gut. Nur möchte ich jetzt bestimmte Zeilen, die nicht zu der Liste, die ich impotiert habe gehören, löschen. Kann man das so automatisieren, dass mann den Wert in Spalte "A" als kritierium für das Löschen eine Zeile angeben kann????


2.)Jetzt will ich die Liste umsortieren. Nur leider ist die listenlänge jeden Tag anders, sodas man mit einem normalen Makro nicht weiterkommt.
Gibt es da auch einen Code. Z.Bsp. das ab Zeile 6 bis zum letzten Datensatz alle Felder markiert werden und man sie dann usortierne kann.
Vielen Dank für die Hilfe.

Bild


Betrifft: AW: VBA Code zum Löschen von ganzen zeilen
von: Koenig W.
Geschrieben am: 18.11.2003 12:10:04

Hallo Peter,
das löschen sollte so funktionieren. Man sollte immer von unten nach oben löschen, da durch das "Verschwinden" der Zeile die nächste nachrutscht.

Sub Löschen1()
Dim i As Long
For i = ActiveSheet.UsedRange.Rows.Count To 6 Step -1
  If Range("A" & i).Value = 1 Then
  Range("A" & i).EntireRow.Delete
  Else
  End If
Next i
End Sub

Gruss Wilhelm


Bild


Betrifft: Nachtrag
von: Koenig W.
Geschrieben am: 18.11.2003 12:13:19

Die Annahme beim Beispiel Code war, dass ab 6. Zeile die Daten stehen und in der Spalte A die Bedingung 1 sein musste um zu löschen. Wenn die Bedingung Text ist, dann musst Du es in "" setzen.
Gruss


Bild


Betrifft: AW: VBA Code zum Löschen von ganzen zeilen
von: WernerB.
Geschrieben am: 18.11.2003 12:13:47

Hallo Peter,

zu 1.) Wie willst Du dem Makro sagen, welcher Wert in Spalte "A" für das Zeilenlöschen relevant ist?
Steht der Wert immer in der gleichen Zelle?
Willst Du die Zelle mit dem relevanten Wert vor der Makroausführung markieren?
Willst Du den relevanten Wert in eine InputBox eintippen?
Wenn diese Frage geklärt ist, kann ich Dir auch einen Makrovorschlag unterbreiten.

Zu 2.) Mit dem nachstehenden Makro kannst Du den relevanten Zellbereich markieren.
Falls immer nur bis zu einer bestimmten Spalte sortiert werden soll, wäre es hilfreich, wenn Du diese noch angeben könntest.
Das Makro ist durchaus noch ausbaufähig, d.h., dass das Sortieren noch eingebaut werden kann; dazu müsste man aber Deine Sortierkriterien kennen ...

Sub Peter()
Dim laR As Long
    laR = Cells(Rows.Count, 1).End(xlUp).Row
    Range("A6:IV" & laR).Select
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).


Bild

Beiträge aus den Excel-Beispielen zum Thema " VBA Code zum Löschen von ganzen zeilen"