Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen löschen

Zellen löschen
19.11.2004 15:02:17
Andre
Hallo Forum,
ich habe eine Anzahl von Zeilen in denen mehrere Zellen den selben Wert haben.
Z.B. Zeile 10 bis 50 Spalte A = 11
Zeile 51 bis 90 Spalte A =12
Zeile 91 bis 128 Spalte A = 13 usw.
Ich möchte nur die Zeilen 1 bis 50 stehen lassen, wenn ich nach 11 suche.
Ich möchte nur die Zeilen 1 bis 9 und 51 bis 90 stehen lassen, wenn ich nach 12 suche.
Ich möchte nur die Zeilen 1 bis 9 und 91 bis 128 stehen lassen, wenn ich nach 13 suche.
D.h, Zeilen 1 bis 9 immer stehen lassen, den rest nach Auswahl. Würde nach jeder Auswahl die Datei unter einem anderen Namen abspeichern und Ursprungsdatei neu aufmachen zur nächsten Selektion.
Kann man so etwas mit VBA realisieren. Danke allen für eine Info. Gruß André

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen löschen
Franz
Hallo Andre!
Das Löschen könnte so gelöst werden:
Am Besten nachstehenden Code in der "Personl.xls" im Office Verzeichnis unter ...\XLSTART ablegen.

Sub ZeilenLöschen()
Dim i As Long
On Error Goto Fehler
i=Inputbox("Bitte den Wert eingeben, der NICHT gelöscht werden soll.")
ActiveSheet.Cells(10,1).Select
Do
If Selection.Value <> i Then
Selection.EntireRow.Delete
Else
Selection.Offset(1,0).select
End if
Loop While Selection <> ""
Range("A1").Select
Exit Sub
Fehler:
Msgbox "Es ist ein Fehler aufgetreten!" _
& vblf & Err.Number & " - " & Err.Description
End Sub

Dann Datei mit "Speichern unter" ablegen.
Originaldatei nochmals aufrufen und Makro eventuell wieder starten.
Anzeige
AW: Zellen löschen
19.11.2004 15:57:19
Andre
Hallo Franz,
habe leider Fehler gemacht. Die Werte stehen in spalte C. Da ich keine Ahnung von VBA habe, weiss ich nicht welchen Schritt ich ändern muss. Modul läuft auch nicht ab. es löscht etwas, aber die Zellen nach denen ich nicht auswähle bleiben auch stehen.
Gruß
André
AW: Zellen löschen
Ingolf
Hallo Andre,
für Spalte C ändere folgendes in Franz' Makro:
Alt: ActiveSheet.Cells(10,1).Select
Neu: ActiveSheet.Cells(10,3).Select
Das müsste dann eigentlich funktionieren.
Gruß Ingolf
AW: Zellen löschen
19.11.2004 16:31:52
Andre
Hallo Ingolf,
läuft einwandfrei. Jetzt löscht das Makro jede Zeile einzeln die nicht die Auswahl erhält. Dauert also ziemlich lange bei 3000 Zeilen von denen jeweils etwa 50 stehen bleiben. Kann man das auch schneller machen. Die zu löschenden stehen immer untereinander nicht durcheinander. Weiterhin sind die Zahlen aufsteigend sortiert. D.h, wenn ich 13 brauche, stehen 11 und 12 vorher und alles was nach 13 kommt kann auch weg.
Wenn zu kompliziert = Egal.
Gruß
André
Anzeige
AW: Zellen löschen
Ingolf
Hallo Andre,
so läufts Ruckzuck:

Sub Loeschen()
Dim lngZeile1 As Long
Dim lngzeile2 As Long
Dim lngWert As Long
lngWert = InputBox("Bitte Wert eingeben, der nicht gelöscht werden soll!")
lngZeile1 = ActiveSheet.Range("C:C").Find(lngWert).Row
lngzeile2 = lngZeile1
Do While Cells(lngzeile2, 3) = lngWert
lngzeile2 = lngzeile2 + 1
Loop
If lngzeile2 < 65536 Then
ActiveSheet.Range(Cells(lngzeile2, 3), Cells(65536, 3)).EntireRow.Delete
End If
ActiveSheet.Range(Cells(10, 3), Cells(lngZeile1 - 1, 3)).EntireRow.Delete
End Sub

Gruß Ingolf
Anzeige
AW: Zellen löschen
19.11.2004 17:16:51
Andre
Danke Ingolf,
läuft 1A. Denke ich müsste doch mal einen VBA Kurs belegen.
Gruß aus dem verschneiten Sauerland
André

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige