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

Auto Filter

Auto Filter
14.04.2007 15:32:49
Andreas

Hallo Excelprofis!
Mit nachfolgendem Code (Danke an Franz) blende ich bestimmte Zeilen und Spalten per Autofilter aus, drucke das Ganze und blende alles wieder ein.
Jetzt brauche ich aber auch eine Möglichkeit, alle Zeilen zu drucken bei denen in AC, und/oder AD, und/oder AE, und/oder AF eine 1 steht. Wie muß ich das machen? Habe schon etwas probiert, bin aber nicht weitergekommen.
Danke für die Hilfe und Mühe!
mfg Andreas


Private Sub CommandButtonDruck1_Click()
Dim lZeile  As Long
'zur Auswertung wechseln
Sheets("Auswertung").Select
With Sheets("Auswertung")
.Unprotect "xyz"
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'per Autofilter Zeilen ausblenden
.Range("AC7:AC65536").AutoFilter Field:=1, Criteria1:="<>", Operator:=xlAnd
Application.Calculation = xlCalculationAutomatic
'Sortieren nach Firma
.Range("A8:AF1500").Sort Key1:=Range("B8"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Spalten ausblenden
.Range("A:A,C:C,E:E,F:F,G:G,H:H,I:I,L:AF").EntireColumn.Hidden = True
With .PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
.PageSetup.PrintArea = ""
With .PageSetup
.LeftMargin = Application.InchesToPoints(0.78740157480315)
.RightMargin = Application.InchesToPoints(0.78740157480315)
.TopMargin = Application.InchesToPoints(0.78740157480315)
.BottomMargin = Application.InchesToPoints(0.590551181102362)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = True
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 999
End With
Application.ScreenUpdating = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Selection.AutoFilter 'Autofilter wieder abschalten
.Columns.EntireColumn.Hidden = False
'nach Nummern sortieren
.Range("A8:AF1500").Sort Key1:=Range("A8"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
.Protect "xyz"
.Range("B1").Select
End With
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auto Filter
14.04.2007 15:59:47
fcs
Hallo Andreas,
bei Verwendung des Autofilters für mehrere Spalten arbeitet Excel mit UND-Verknüpfungen, d.h. nur wenn in jeder Spalte die jeweils festgelegte Bedingung erfüllt wird, dann bleibt die Zeile eingeblendet.
Wenn du eine ODER-Verknüpfung erstellen willst, dann muss du eine Hilfsspalte erstellen oder zum komplizierter zu handhabenden Spezialfilter übergehen.
In deinem Fall ist die Hilfsspalte eine einfache Lösung.
zum Beispiel in Zeile 8 Spalte AG:


=ZÄHLENWENN(AC8:AF8;1)


Diese Formel dann für alle Zeilen nach unten kopieren.
Der Code für den entsprechende Filter sieht dann so aus:


Sub Autofilter_setzen()
Dim wks As Worksheet
Set wks = Worksheets("Eintragungen")
'prüfen, ob Autofilter aktiv und ggf. deaktivieren
If wks.AutoFilterMode = True Then wks.AutoFilterMode = False
'Filter für Bereich setzen
With wks.Range("AG7:AG65536")
.Autofilter Field:=1, Criteria1:=">=1" 'Filter 1. Spalte von Bereich
End With
End Sub


Gruß
Franz

Anzeige
Danke, klappt super!!!
14.04.2007 16:13:18
Andreas
Hallo Franz!
Sorry, dass ich einen neuen Thread geöffnet habe, ist etwas eilig!
Danke noch mal für deine Hilfe!!
mfg, Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige