For each Blatt in worksheets

Bild

Betrifft: For each Blatt in worksheets
von: lotharP
Geschrieben am: 14.10.2003 14:46:06

Hallo Leute,

hab' jetzt endlich nochmal sowas gefunden mit einer For each Schleife.
Grundsätzlich mach ich das immer mit einer while Schleife wollte aber mit aller Gewalt das hier haben weil ich das besser finde:


Sub allini()
Dim blatt
For Each blatt In ActiveWorkbook.Worksheets
filteran
Range("a2:i65536").Delete
Next
End Sub





Sub filteran()
With Worksheets("PLAN")
    If .AutoFilterMode Then
       Range("a2").AutoFilter
    End If
End With
End Sub


So is ja schön, er macht das auch brav, allerdings dann nicht für jedes Blatt sondern nur für's Blatt PLAN.
Ja is schon klar, dann darf da auch nicht PLAN angesprochen werden, aber alle Versuche waren(mal wieder) vergebens!!

Danke i.V.


Gruß

Lothar
Bild


Betrifft: AW: For each Blatt in worksheets
von: Andi_H
Geschrieben am: 14.10.2003 14:49:38

Hi Lothar,
so dürfte es klappen:


Sub allini()
Dim blatt
For Each blatt In ActiveWorkbook.Worksheets
filteran
blatt.Range("a2:i65536").Delete
Next
End Sub


gruß

andi


Bild


Betrifft: AW: For each Blatt in worksheets
von: LotharP
Geschrieben am: 14.10.2003 15:15:12

Hallo Andi,

das wars zwar nicht ganz, weil ja auch noch in den anderen Blättern geprüft werden muß ob der Filter an ist oder nicht. Aber im ersten Step hätte mir das auf jeden Fall geholfen!! DANKE DIR!

Die nächste Antwort ist aber schon komplett und hilft mir schon weiter.(INGO)

Gruß

Lothar


Bild


Betrifft: parameterliste
von: IngoG
Geschrieben am: 14.10.2003 14:54:47

Hallo Lothar,
ganz klar ist mir nicht, was Du machen möchtest, aber hast Du mal über einen parameter nachgedacht?



Sub allini()
Dim blatt
For Each blatt In ActiveWorkbook.Worksheets
filteran(blatt.name)
Range("a2:i65536").Delete
Next
End Sub



Sub filteran(ws_name as string)
With Worksheets(ws_name)
    If .AutoFilterMode Then
       Range("a2").AutoFilter
    End If
End With
End Sub


habs zwar nicht testen können sollte aber funzen
Gruß Ingo


Bild


Betrifft: AW: parameterliste
von: LotharP
Geschrieben am: 14.10.2003 15:12:08

Hallo Ingo,

exact das isses!
Allerdings hätt ich mir da auch nen Wolf probieren können weil ich die Zusammenhänge da nich so ganz verstehe?!
Gut das er Blatt aus irgendeinem Grund als Objekt erkennt hatte ich ja irgendwie schon raus. Das ich jedes einzelne Blatt dann "auslesen" kann und den Namen bekomme is auch noch O.K., kann man hinkommen!
ABER DANN, oh-no, da verlässt mich dann mein Verständnis vollends!
Gut, ich hab's jetzt so hingenommen, werde auch versuchen es mir zu merken, aber es zu verstehen lass ich mir noch'n bisschen Zeit(GEZWUNGENERMASSEN! ;-) ).
Aber ich wollts ja unbedingt wissen!
Allerdings,vieleicht hast du ja noch ein wenig Zeit mir's kurz zu erklären, und mich aus dem Dunkel der Unwissenheit herauszuholen? Wär jedenfalls recht nett, weil ich's immer noch ziemlich gut finde!

Wenn nicht, ist es auch nicht so tragisch, dann weich ich wahrscheinlich doch auf for i to aus.

Gruß

Lothar


Bild


Betrifft: AW: For each Blatt in worksheets
von: Hajo_Zi
Geschrieben am: 14.10.2003 14:56:45

Hallo Lothar

warum Du das in zwei

Sub machts ist mir schleierhaft,  es macht es nur kompliziert.
mal ungetestet.

Sub allini()
    Dim Blatt  As Worksheet
    For Each Blatt In ActiveWorkbook.Worksheets
        filteran Blatt
    Next
End Sub



Sub filteran(Lothar As Worksheet)
    With Lothar
        If .AutoFilterMode Then
            .Range("a2").AutoFilter
            .Range("a2:i65536").Delete
        End If
    End With
End Sub




Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/



Bild


Betrifft: AW: For each Blatt in worksheets
von: LotharP
Geschrieben am: 14.10.2003 15:21:22

Hallo Hajo,

ich versuche (stell mir da wahrscheinlich auch immer selbst'n Bein) möglichst modular zu programmieren. Heisst, ich möchte bestimmet Dinge dann auch als einzelne Makros "aufrufbar" haben, Mappen-unabhängig sozusagen.
Deine Version werde ich gleich auch nochmal probieren, Dank dir auf jeden Fall!

Ich bin auf jeden Fall für Hinweise in der Art dankbar, da ich manchmal denke ich ein wenig unorthodox an die Dinge rangehe und entsprechende Hinweise/Verbesserungen gerne entgegennehme!

Gruß

Lothar


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Kann ...\XLQUERY.XLA nicht finden"