Re: codezeilen überspringen
19.08.2002 09:32:59
richard
das ist das was ich gesucht habe.
ich muß gestehen ich wollte mich dieser krücke behelfen weil mir die formulierung des
else.falles nicht einfalle wollte.
habe jetzt aber doch einen gefunden. danke trotzdem.um euch nicht im dunkeln zu lassen. es ging um folgendes.
wenn ein autofoliter aktiv, dann filterkriterium auslesen. dieses filterkriterium verarbeite ich weiter und setze es später wieder ein. wenn der filter aber nicht an ist (else) ja was dann. dann war filterkriterium="" und somit konnte ich damit den filter nicht wieder aktivieren. jetzt ist das filterkriterium im else fall "*" (also alles).
ich weiß hätte ich auch eher drauf kommen können aber ihr wißt ja wie das mit den bretche vorm kopf manchmal ist.
hier der code
Private Sub Alles_Drucken_Click()
Dim Filterkriterium As String
Dim i As Integer
With ActiveSheet.AutoFilter.Filters(1)
If .On Then
Filterkriterium = (.Criteria1)
Else: Filterkriterium = "*"
End If
End With
ActiveSheet.Range("A1").Select
Selection.AutoFilter Field:=1
ActiveSheet.Range("A1").Select
i = Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1").Select
Selection.AutoFilter Field:=1, Criteria1:=("=" & (Right(Filterkriterium, 8))), Operator:=xlAnd
ActiveSheet.Range("A1").Select
Application.ScreenUpdating = False
Call DruckerInit
With Worksheets("Task-Liste").PageSetup
For n = 0 To 9
On Error Resume Next
Application.ActivePrinter = "\\P100067\D4069995h auf NE0" + CStr(n) + ":" 'Laser
'Application.ActivePrinter = "\\P100067\D4080198P auf NE0" + CStr(n) + ":" 'Farbdrucker
Next n
.Orientation = xlLandscape
End With
Worksheets("Task-Liste").Range(Cells(3, 1), Cells(i + 1, 9)).PrintOut 'ausdrucken
Application.ScreenUpdating = True
End Sub
mfg richi