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

Makro setzt Filter manchmal erst ab Zeile 2 anstat

Makro setzt Filter manchmal erst ab Zeile 2 anstat
19.05.2008 23:33:00
Köhler
Hallo,
folgendes Makro setzt den Filter manchmal erst ab Zeile 2 anstatt ab Zeile 1:

Sub Datei_B1_FilternUndDrucken()
Dim ws As Worksheet, z As Long, i As Long, aWerte(), weiter As Integer
Workbooks.Open Filename:= _
"F:\Datenschnittstellen\ATOMIG\Master KAG\Daten\Orderimport\swift\Mailsendung\AUTO_B1. _
xls"
Sheets("MT304").Activate
Set ws = ActiveWorkbook.ActiveSheet
ReDim aWerte(0)
For z = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
If fWertInArray(aWerte, ws.Cells(z, 1).Value) = False Then
ReDim Preserve aWerte(UBound(aWerte) + 1)
aWerte(UBound(aWerte)) = ws.Cells(z, 1).Value
End If
Next
For i = 1 To UBound(aWerte)
ws.Range("A1").AutoFilter Field:=1, Criteria1:=aWerte(i)
ws.PrintOut
Next
ws.Range("A1").AutoFilter Field:=1
ActiveWorkbook.Save
End Sub



Function fWertInArray(aWerte, Wert) As Boolean
Dim i As Long
For i = LBound(aWerte) To UBound(aWerte)
If aWerte(i) = Wert Then
fWertInArray = True
Exit Function
End If
Next
End Function


Viele Grüße
Ralf

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro setzt Filter manchmal erst ab Zeile 2 anstat
19.05.2008 23:54:00
Daniel
Hi
Excel versucht automatisch, die Tabelle und die Übeschriftenzeile zu ermitteln.
in diese Überschriftenzeile plaziert er dann den Autofilter.
Wenn jetzt in Zeile 1 nicht alle Zellen beschrieben sind, kann es vorkommen, daß Excel nicht die Zeile 1 als Überschriftenzeile identifiziert, sondern die Zeile 2 und dort den Autofilter plaziert.
diese Automatik kann man ausschalten, in dem man man bei Aktivierung des Autofilters explizit die Zeile 1 vorgibt:

ws.Range("1:1").AutoFilter Field:=1, Criteria1:=aWerte(i)


Gruß, Daniel

Anzeige
AW: Makro setzt Filter manchmal erst ab Zeile 2 anstat
19.05.2008 23:54:00
Daniel
Hi
Excel versucht automatisch, die Tabelle und die Übeschriftenzeile zu ermitteln.
in diese Überschriftenzeile plaziert er dann den Autofilter.
Wenn jetzt in Zeile 1 nicht alle Zellen beschrieben sind, kann es vorkommen, daß Excel nicht die Zeile 1 als Überschriftenzeile identifiziert, sondern die Zeile 2 und dort den Autofilter plaziert.
diese Automatik kann man ausschalten, in dem man man bei Aktivierung des Autofilters explizit die Zeile 1 vorgibt:

ws.Range("1:1").AutoFilter Field:=1, Criteria1:=aWerte(i)


Gruß, Daniel

Anzeige
AW: Makro setzt Filter manchmal erst ab Zeile 2 anstat
22.05.2008 00:39:00
Köhler
Hallo Daniel,
erst einmal vielen Dank für Deine Bemühungen.
Leider funktioniert das Ganze noch nicht. Jetzt funktioniert weder drucken noch filtern. Deshalb schicke ich Dir noch weitere Informationen.
Ich benutze die Excel-Version 2000. Folgendermaßen habe ich das Makro verändert:

Sub Datei_B1_FilternUndDrucken()
Dim ws As Worksheet, z As Long, i As Long, aWerte(), weiter As Integer
Workbooks.Open Filename:= _
"F:\Datenschnittstellen\ATOMIG\Master KAG\Daten\Orderimport\swift\Mailsendung\AUTO_B1. _
xls"
Sheets("MT304").Activate
Set ws = ActiveWorkbook.ActiveSheet
ReDim aWerte(0)
For z = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
If fWertInArray(aWerte, ws.Cells(z, 1).Value) = False Then
ReDim Preserve aWerte(UBound(aWerte) + 1)
aWerte(UBound(aWerte)) = ws.Cells(z, 1).Value
End If
Next
For i = 1 To UBound(aWerte)
ws.Range("1:1").AutoFilter Field:=1, Criteria1:=aWerte(i)
ws.PrintOut
Next
ws.Range("1:1").AutoFilter Field:=1
ActiveWorkbook.Save
End Sub



Function fWertInArray(aWerte, Wert) As Boolean
Dim i As Long
For i = LBound(aWerte) To UBound(aWerte)
If aWerte(i) = Wert Then
fWertInArray = True
Exit Function
End If
Next
End Function


Vielleicht findest Du den Fehler heraus.
Viele Grüße
Ralf

Anzeige
AW: Makro setzt Filter manchmal erst ab Zeile 2 an
23.05.2008 12:59:00
fcs
Hallo Ralf,
die Zuweisung des Bereichs für den Autofilter ist nicht korrekt. Er muss alle Zeilen beinhalten. die vom Autofilter erfasst werden sollen. Nur die Titekzeile reicht nicht.
Gruß
Franz

Sub Datei_B1_FilternUndDrucken()
Dim ws As Worksheet, z As Long, i As Long, aWerte(), weiter As Integer
Workbooks.Open FileName:="F:\Datenschnittstellen\ATOMIG\Master KAG\Daten\" _
& "Orderimport\swift\Mailsendung\AUTO_B1.xls"
Sheets("MT304").Activate
Set ws = ActiveWorkbook.ActiveSheet
ReDim aWerte(0)
For z = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
If fWertInArray(aWerte, ws.Cells(z, 1).Value) = False Then
ReDim Preserve aWerte(UBound(aWerte) + 1)
aWerte(UBound(aWerte)) = ws.Cells(z, 1).Value
End If
Next
With ws
z = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To UBound(aWerte)
.Range(.Rows(1), .Rows(z)).AutoFilter Field:=1, Criteria1:=aWerte(i)
'.PrintPreview 'zum testen
.PrintOut
Next
End With
ws.Range("1:1").AutoFilter Field:=1
ActiveWorkbook.Save
End Sub


Anzeige
AW: Makro setzt Filter manchmal erst ab Zeile 2 anstat
28.05.2008 22:07:00
Köhler
Hallo Franz,
vielen Dank für Deine Antwort. Ich habe das Makro jetzt einige Male getestet und es funktioniert.
Viele Grüße
Ralf

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige