VBA-Autofilteranweisung fehlerhaft
09.11.2004 16:05:02
Ophir
Wenn ich mein Makro ausführen will bekomme ich die Meldung,
daß die folgende Autofilter-Programzeile fehlerhaft ist (Syntax error).
.AutoFilter.field:=ActiveCell.Column, Criteria1:="IntNextdistanz"
Was habe ich falsch geschrieben?
Danke
Ophir
Hier wieder das gesamte Makro:
Sub VektorFilter()
Dim Y As Long
Dim x As Integer
Dim IntEigenmenge As Integer
Dim IntKonkurrenzgasammtmenge As Integer
Dim IntNextkonkurrentenmenge As Integer
Dim IntGesammtdistanz As Integer
Dim IntNextdistanz As Integer
Dim IntKonkurrentenzahl As Integer
'Standort wird vorher vom Verwender in der ersten Zeile gewählt,
'Das Program wählt aktive Zelle
Range(ActiveCell).Select
'Die Milchmenge in dem Standort aus der Zeile der aktive Zelle,
'Spalte 5 gelesen
1:
For Y = 2 To ActiveSheet.UsedRange.Rows
IntEigenmenge = ActiveCell.field.column5.Value
IntKonkurrentenzahl = 1
IntNextdistanz = 0
'Filter aktivieren
Sheets("Tabelle2").Activate
If Not ActiveSheet.AutoFilterMode = True _
Then Range("A1").AutoFilter
'Anfangsortschaft ausfiltern
Selection.AutoFilter _
field:=12, Criteria1:=Not ActiveCell
'(Nächst-)Minimale Entfernung finden
2:
IntNextdistanz = "=SMALL(Activecell.column,IntKonkurrentenzahl)"
'Filterung aller Standorte die auch die gleiche Entfernung haben
.AutoFilter.field:=ActiveCell.Column, Criteria1:="IntNextdistanz"
'Absteigende Sortierung dieser gefilterten Standorte
'!!!!!!(muss gecheckt werden ob diese absteigende Sortierung rückgängig gemacht
' werden kann.)!!!!!
ActiveSheet.UsedRange.Sort Key1:=Range("L1"), _
Order1:=xlDescending, Header:=xlYes
'Summierung der distanzen und der Mengen
For Each Row In UsedRange
IntKonkurrentenzahl = IntKonkurrentenzahl + 1
IntNextkonkurrentenmenge = activerow.Column = l.wert '?
IntGesammtdistanz = IntGesammtdistanz + IntNextdistanz
IntKonkurrenzgasammtmenge = IntKonkurrenzgasammtmenge + IntNextkonkurrentenmenge
If IntKonkurrenzgasammtmenge >= IntEigenmenge Then GoTo 3
Next cell
If IntKonkurrenzgasammtmenge < IntEigenmenge Then GoTo 2
3: 'Ausgabe Gesammtdistanz Gasammtmenge und Konkurentenzahl
ActiveSheet.AutoFilterMode = False
Next Y
MsgBox "IntKonkurrentenzahl,IntGesammtdistanz,IntKonkurrenzgasammtmenge,IntEigenmenge"
End Sub