Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

macro in meerdere werkbladen tegelijk uitvoeren

1,337 views
Skip to first unread message

W.P. Bremer

unread,
Sep 17, 2003, 5:30:46 PM9/17/03
to
Beste dames en heren,

ik heb de volgende macro die de stand van een team
sorteerd:
=====================================
Sub stand()
'
' Stand macro
' De macro is opgenomen op 6-3-01 door W.P. Bremer.
'
' Sneltoets: CTRL+s
'
Range("CT6:DC17").Select
Selection.Sort Key1:=Range("DB6"),
Order1:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
Range("CT6:DC17").Select
Selection.Sort Key1:=Range("CY6"),
Order1:=xlDescending, Key2:=Range("Cz6") _
, Order2:=xlDescending, Key3:=Range("cu6"),
Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
Range("DD10").Select
End Sub

==========================================
Nu heb ik de verschillende teams elk over een werkblad
verdeeld. Dus ik heb bijvoorbeeld deze vier werkbladen.
"Eerste", "Tweede", "Derde" en "Vierde". Nu kan ik in elk
werkblad gaan staan en daar de macro uitvoeren om de
stand te sorteren. Dit werk perfect. Maar om elke keer
tien of meerdere teams de stand te berekenen is een heel
werk.

Ik ben dus opzoek naar een macro die bovenstaande macro
uitvoert op de diverse werkbladen. Hierdoor hoef ik maar
1 macro uit te voeren en zijn de standen snel gesorteerd.

Nu moet ik eerlijk bekennen dat ik deze vraag hier al
eens eerder heb gesteld. Maar ik ben helaas het antwoordt
kwijtgeraakt en ik kan hem met de zoek functie hier niet
terugvinden.
Ik hoop dus dat jullie mij nog 1 keer willen helpen.

Bijvoorbaat heel veel dank
Wiebren

Ingrid Baplue

unread,
Sep 17, 2003, 5:40:08 PM9/17/03
to
Voeg in het begin van de macro deze lijnen toe:

Dim s As Worksheet
For Each s In ActiveWorkbook.Sheets
s.Select

en op het einde deze lijn:

Next s


Ingrid

W.P. Bremer schreef in news:049c01c37d62$f4d43200$a401...@phx.gbl

W.P. Bremer

unread,
Sep 18, 2003, 3:11:26 AM9/18/03
to
Ingrid bedankt voor je reactie, alleen denk ik dat deze
macro bij mij niet werkt. Binnen mijn bestand heb ik naast
een aantal werkbladen waar ik de standen per team bereken
ook andere werkbladen. En ik denk dat jou macro de
macro "Stand" in alle werkbladen uitvoert en dat moet
juist niet. De Macro moet alleen in die werkbladen worden
uitgevoerd waarin de stand van een team wordt weergegeven.

Alvast weer bedankt
Wiebren

>.
>

Ingrid Baplue

unread,
Sep 18, 2003, 3:23:33 AM9/18/03
to
Andere mogelijkheid:

Sub stand()
Dim blad(3) As String
Dim i As Integer
blad(0) = "Eerste"
blad(1) = "Tweede"
blad(2) = "Derde"
blad(3) = "Vierde"
For i = 0 To 3
Sheets(i).Select

'jouw code

Next i
End Sub

Als er meer werkbladen zijn, vergeet dan niet om het aantal aan te passen
zowel in de declaratie als in de For-instructie.

Ingrid

W.P. Bremer schreef in news:6bd001c37db4$134eea30$a601...@phx.gbl

W.P. Bremer

unread,
Sep 18, 2003, 5:18:16 AM9/18/03
to
Bedankt Ingrid voor je snelle reactie. Ik heb de macro
aangemaakt en geprobeerd uit te voeren. Ik krijg alleen
een foutmelding bij :

Sheets(i).Select

en weet niet hoe dit op te lossen is.

Alvast weer bedankt.
Wiebren

Luc.Heyndrickx

unread,
Sep 18, 2003, 6:06:11 AM9/18/03
to
Bestaat die Sheet wel? Je hebt misschien een aantal ingesteld dat te hoog
is.
Of misschien zijn er Sheets verborgen?

Luc

"W.P. Bremer" <wpbr...@home.nl> schreef in bericht
news:0a9a01c37dc5$cb1a17a0$a401...@phx.gbl...

Ingrid Baplue

unread,
Sep 18, 2003, 6:17:00 AM9/18/03
to
Heb je de werkbladnamen correct ingetypt in de macro, want elke typfout zal
de macro doen vastlopen.

Ingrid

W.P. Bremer schreef in news:0a9a01c37dc5$cb1a17a0$a401...@phx.gbl

W.P. Bremer

unread,
Sep 18, 2003, 7:14:00 AM9/18/03
to
Bedankt voor jullie reactie, maar ik om er nog niet uit,
erg he! Moet ik in de macri i ook vervangen door iets.

Alvast bedankt
Wiebren

Ingrid Baplue

unread,
Sep 18, 2003, 7:28:31 AM9/18/03
to
Blad( ) is de tabel waarin alle werkbladnamen moeten komen waarin de macro
moet uitgevoerd worden.
i is de teller om die tabel te doorlopen.

Dus je moet het lijstje aanpassen/uitbreiden om alle bladnamen in de macro
te hebben.
Als er meer/minder elementen in de tabel staan dan in de macro zoals ik had
gegeven moet je zowel in de Dim-instructie als in de For-instructie de
waarde aanpassen, let wel op, je begint te tellen vanaf 0 (nul) dus moet
hier het aantal-1 staan.

Ingrid

W.P. Bremer schreef in news:0eb601c37dd5$f63dd7e0$a101...@phx.gbl

W.P. Bremer

unread,
Sep 18, 2003, 8:25:03 AM9/18/03
to
Beste Ingrid en Luc,

als ik de macro uitvoer krijg ik de volgende foutmelding:

Fout 9 bij uitvoer: Het subscript valt buiten het bereik

Hebben jullie nu een oplossing voor de goede orde heb ik
hieronder de gehele macro nog een keer geplakt.

===============
Sub Standen()
'
' Standen Macro
' De macro is opgenomen op 17-9-2003 door Bremer.
'
' Sneltoets: CTRL+t
'
Dim blad(1)
Dim i As Integer
blad(0) = "1"
blad(1) = "2"
For i = 0 To 1
Sheets(i).Select


Range("CT6:DC17").Select
Selection.Sort Key1:=Range("DB6"),

Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal


Selection.Sort Key1:=Range("CY6"),

Order1:=xlDescending, Key2:=Range("CZ6" _
), Order2:=xlDescending, Key3:=Range("CU6"),
Order3:=xlAscending, Header _


:=xlGuess, OrderCustom:=1, MatchCase:=False,

Orientation:=xlTopToBottom _
, DataOption1:=xlSortNormal,
DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
Next i
End Sub
===================

met vriendelijke groet
en alvast weer bedankt

Wiebren

Ingrid Baplue

unread,
Sep 18, 2003, 8:30:46 AM9/18/03
to
Sorry, dat is een foutje van mij, deze regel:
Sheets(i).Select
moet vervangen worden door:
Sheets(blad(i)).Select

Ingrid

W.P. Bremer schreef in news:0e4401c37ddf$e303ec50$a301...@phx.gbl

W.P. Bremer

unread,
Sep 18, 2003, 8:42:16 AM9/18/03
to
Ingrid,

heel heel heel erg bedankt het werkt nu perfect.


Bedankt en totziens
Wiebren

0 new messages