folgendes Makro hab ich mir aufgezeichnet:
-------------------------------------------------------------------------------------
Rows("3:3").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("EK_WK").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("EK_WK").AutoFilter.Sort.SortFields.Add Key:=Range( _
"B3"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("EK_WK").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Range("$A$3:$U$3937").AutoFilter Field:=5, Criteria1:="=-0,02" _
, Operator:=xlOr, Criteria2:="=-0,01"
End Sub
-------------------------------------------------------------------------------------
Das funktioniert aber immer nur wenn die Datentabelle auch nicht mehr wie 3937 zu prüfende Zeilen (Datensätze) hat. Mit anderen Worte doch nur bei der spezifischen Datei aus der das Makro aufgezeichnet wurde.
Wie lautet der Code: Damit das Macro automatisch ermittelt wieviel Datensätze per Zeile vorhanden sind?
Ausgang ist:
Ich erhalte eine Quell-Datei (CSV) aus dem ERP-System.
Zu prüfen sind dann alle Datensätze nach Artikelnummer *kann mehrfach vorkommen* (Spalte B), nach Preis (Spalte E) aus Einträge mit 0,01 und 0,02.
Der Wert wird systemisch vom ERP generiert, weshalb ich die bestimmt Artikelnummer nicht filtere, weil die dann wiederum gleichbleibend ist (Wert 0,01 und 0,02 kann nur bei diesem Artikel aufkommen.
Sorry - leider noch im Laien Status was meine EXCEL/VBA Kenntnis angeht.
Herzlichen Dank für eure Hilfe im Voraus und einen schönen Tag.