Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
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

Löschen per Makro in Tabelle :-(

Löschen per Makro in Tabelle :-(
07.05.2019 14:49:57
Georg
Hallo zusammen,
ich möchte in einer "Tabelle" per Makro bestimmte Daten filtern und den Rest löschen. Die Aufzeichnung per VBA Editor klappt hervorragend - nur funzt das Makro dann nicht... Ich bekomme immer einen Fehler.
Was mache ich falsch?
Danke für Eure Nachhilfe!
Georg
https://www.herber.de/bbs/user/129643.xlsm
Sub Makro1()
ActiveSheet.ListObjects("TestTAB").Range.AutoFilter Field:=2, Criteria1:="=Prod b",  _
Operator:=xlOr, Criteria2:="=Prod c"
Range("C8:C15").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.EntireRow.Delete
ActiveSheet.ListObjects("TestTAB").Range.AutoFilter Field:=2
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen per Makro in Tabelle :-(
07.05.2019 14:53:04
Hajo_Zi
Halo Georg,
ich hätte ohne select
Range("C8:C15").SpecialCells(xlCellTypeVisible).EntireRow.Delete
geschrieben.
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Löschen per Makro in Tabelle :-(
07.05.2019 15:04:41
Georg
Hallo Hajo,
die selects sind noch aus dem VBA Editor. Klar, dass die später ersetzt werden.
Das mit dem Nachbauen und Hochladen hab ich nicht verstanden, da ich die Datei doch hier aus genau dem Grund hochgeladen habe?!? Hat das vielleicht nicht geklappt?
Oder hab ich Dich falsch verstanden?
Gruß Georg
AW: Löschen per Makro in Tabelle :-(
07.05.2019 15:10:11
Hajo_Zi
Hallo Georg,
das hatte ich übersehen.
Range("C8:C15").SpecialCells(xlCellTypeVisible).Delete
Gruß Hajo
AW: Löschen per Makro in Tabelle :-(
07.05.2019 15:25:02
Hajo_Zi
Hallo Georg,
Bereich anpassen
C8:E15
Gruß Hajo
Anzeige
AW: Löschen per Makro in Tabelle :-(
07.05.2019 15:25:13
Georg
Superprima, danke!
Er tut sich also schwer, Bereiche außerhalb der Tabelle zu löschen, oder?
Da kommt die Abfrage, ob ich die ganze Zeile löschen möchte. Kann ich das auch gleich per VBA mit Ja beantworten?
Gruß Georg
AW: Löschen per Makro in Tabelle :-(
07.05.2019 15:47:59
Daniel
naja, wenn du keine ganzen Zeilen oder Spalten löschst, muss Excel ja wissen ob die Zellen von unten oder von rechts nachrücken lassen soll.
daher die Nachfrage.
um die nachfrage zu vermeiden, kannst du, wenn du ganze Zeilen oder Spalten löschen willst, dies angeben:
Range("C8:C15").SpecialCells(xlCellTypeVisible).EntireRow.Delete
falls nicht, musst du angeben von wo die Zellen nachrücken sollen
Range("C8:C15").SpecialCells(xlCellTypeVisible).Delete shift:=xlUP
diese Fragestellung könntest du dir eigentlich auch selbt mit hilfe des Recorders beantworten!
Gruß Daniel
Anzeige
AW: Löschen per Makro in Tabelle :-(
07.05.2019 16:13:52
Georg
Hallo Daniel,
danke für die Vorschläge, aber bei mir funktionieren sie nicht. Es kommt da wieder die Fehlermeldung.
Meine Frage von vorhin geht dahin, die Meldung zu unterdrücken. Das geht wohl mit: "Application.DisplayAlerts = False" bzw. danach wieder "...= True" , oder?
Danke Euch und Gruß
Georg
..nicht immer-oder? - mach es..... kwT
07.05.2019 16:17:21
robert
AW: Löschen per Makro in Tabelle :-(
07.05.2019 16:43:11
Daniel
naja, ich kenne deinen Code nicht.
deswegen kann ich dir nicht sagen, was du falsch machst.
"Application.DisplayAlerts" sind keine Fehlermeldungen, sondern Rückfragen des Systems, wenn notwendige Angaben für den nächsten Bearbeitungsschritt fehlen.
Mit "Application.DisplayAlerts = False" wird die Rückfrage unterdrückt und es wird die Option verwendet, die im normalen Dialog automatisch voreingestellt ist (also die, die du bekommst, wenn du OK den Dialog direkt mit OK quittierst)
Gruß Daniel
Anzeige
AW: Löschen per Makro in Tabelle :-(
07.05.2019 16:49:02
Georg
mein Code sieht jetzt so aus:
Sub Makro2() ' => geht!
ActiveSheet.ListObjects("TestTAB").Range.AutoFilter Field:=2, Criteria1:="=Prod b",  _
Operator:=xlOr, Criteria2:="=Prod c"
Application.DisplayAlerts = False
Range("C8:E15").SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
ActiveSheet.ListObjects("TestTAB").Range.AutoFilter Field:=2
End Sub
und läuft soweit prima. Display alert scheint hier richtig zu arbeiten.. :- )
Danke Georg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige