Hallo und guten Morgen zusammen,
ich bin von meinem Chef beauftragt worden, ein kleines Makro im Excel 2010 zum schnellen Aussortieren einer längeren Liste zu erstellen.
Von Visual Basic hatte ich bis Dato keine Ahnung.Also habe ich mich gestern mal ein bisschen eingelesen und auch ein halbwegs funktionierendes Makro zustande gebracht.
Ziel ist es, in ein vorgefertigtes Dokument jeden Tag eine bestimmte Liste einzufügen, deren Inhalt jeden Tag variabel ist.
Anschließend sollen nicht benötigte Inhalte entfernt werden.
Ich habe das ganze so gemacht:
Range("H2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=8, Criteria1:="=*Nom*", Operator:=xlAnd
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.EntireRow.Delete
Selection.AutoFilter Field:=8
Selection.AutoFilter
So weit hat auch alles funktioniert.
Das Problem das Auftritt:
Ich hatte jetzt eine Liste, in der unter "Field=8" kein "*Nom*" enthalten war.
Also hatte er keine Ergebnise, markiert meine Filterzeile (H2, bzw. 2:2) und löscht diese.
Diese ist aber für die weiteren Arbeitsschritte unbedingt von Nöten.
Was ich suche ist ein Befehl wie "Wenn keine Daten vorhanden, dann nicht löschen".
Gibt es sowas? Wenn ja wie geht das?
Für Lösungsvorschläge bedanke ich mich schonmal im Vorraus
Grüße
Edit by Dodo:
-> Topic verschoben (Grundlagen => VBA)
ich bin von meinem Chef beauftragt worden, ein kleines Makro im Excel 2010 zum schnellen Aussortieren einer längeren Liste zu erstellen.
Von Visual Basic hatte ich bis Dato keine Ahnung.Also habe ich mich gestern mal ein bisschen eingelesen und auch ein halbwegs funktionierendes Makro zustande gebracht.
Ziel ist es, in ein vorgefertigtes Dokument jeden Tag eine bestimmte Liste einzufügen, deren Inhalt jeden Tag variabel ist.
Anschließend sollen nicht benötigte Inhalte entfernt werden.
Ich habe das ganze so gemacht:
Range("H2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=8, Criteria1:="=*Nom*", Operator:=xlAnd
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.EntireRow.Delete
Selection.AutoFilter Field:=8
Selection.AutoFilter
So weit hat auch alles funktioniert.
Das Problem das Auftritt:
Ich hatte jetzt eine Liste, in der unter "Field=8" kein "*Nom*" enthalten war.
Also hatte er keine Ergebnise, markiert meine Filterzeile (H2, bzw. 2:2) und löscht diese.
Diese ist aber für die weiteren Arbeitsschritte unbedingt von Nöten.
Was ich suche ist ein Befehl wie "Wenn keine Daten vorhanden, dann nicht löschen".
Gibt es sowas? Wenn ja wie geht das?
Für Lösungsvorschläge bedanke ich mich schonmal im Vorraus
Grüße
Edit by Dodo:
-> Topic verschoben (Grundlagen => VBA)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()