• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Loop voor wisselede bladnaam

Status
Niet open voor verdere reacties.

duco243

Gebruiker
Lid geworden
8 jul 2009
Berichten
67
Hallo,

Ik ben naar een nettere manier aan het zoeken voor het volgende:

Ik heb een werkmap met 25 bladen (A01, A02, A03 etc tm A25)
Op werkblad A01 moet een macro een aantal handelingen verrichten, op het volgende blad A02 dezelfde handelingen enz tm A25
Nu kan ik 25 dezelfde macro's gebruiken met per macro een andere bladnaam maar dat verdient geen schoonheidsprijs, volgens mij kan dat netter.

Ik heb nu dus zoiets:

Sheets("A01").Select

Dim pdfjob As Object
Dim sPDFName As String
Dim sPDFPath As String

'Check if worksheet is empty and exit if so
On Error GoTo Earlyexit

enz enz, tig progr.regels tot aan end sub

dan kan ik hier wel Sheets("A02").Select en weer dezelfde progr.regels invoeren maar is er niet iets (een for-next loop?) die steeds een ander blad selecteert waarna de code opnieuw wordt afgewerkt?



Alvast bedankt,

gr.
Duco
 
(een for-next loop?)

In een keer goed; die is er.

Je hoeft geen bladen te selecteren met 'select' in de code.
 
Beste Duco,
Al lid sinds 2009, dan zou je ondertussen moeten weten dat je de code tussen code tags moet zetten (met #)
en met deze niets zeggende code kan je moeilijk verwachten een duidelijk antwoord te krijgen.
enz enz, tig progr.regels tot aan end sub
Code:
Sub duidelijke_code()
For Each sht In ThisWorkbook.Sheets
enz enz, tig progr.regels tot aan end sub
Next sht
End Sub
 
Hallo gast0660 ,

Bedankt voor je reactie. Ik heb je oplossing getest maar het werk niet.
De code die er tussen staat is niet van belang voor de vraagstelling, ik heb de tussencode vereenvoudigd en jouw code erbij gezet:
#
Sub Macro1()

For Each sht In ThisWorkbook.Sheets

Range("A1").Select
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select

Next sht

End Sub
#

De bedoeling is dat Excel die copy-actie op een aantal bladen (dus niet alle) gaat doen.
De 25 bladen waarop deze actie moet plaatsvinden hebben de naam A01 tm A25
 
Zoiets?
Code:
for i = 1 to 25
With Sheets("A"& format(i,"00"))
.range("b1").value = .range("a1").value
End with
Next i
 
Hallo Ginger

Dit werkt precies zoals ik het bedoelde.
Dat for-next had ik ook in gedachte maar ik zocht naar dit : With Sheets("A" & Format(i, "00"))

Bedankt voor de hulp (ook de andere die de moeite hebben genomen)


gr.
Duco
 
Hallo,

Zoals ik hierboven al vermeldde, de code werkt perfect maarrrrrrrrrrrrrrrrrrrrrrrrrrrrr nu loop ik weer tegen iets aan, namelijk:

Stel dat blad A20 niet aanwezig is, wat kan ik aan de formule toevoegen zodat hij bij het ontbreken van een blad niet vastloopt?

for i = 1 to 25
With Sheets("A"& format(i,"00"))
.range("b1").value = .range("a1").value
End with
Next i

Bvd

Duco
 
Bv.
Code:
For i = 1 To 25
 If Not IsError(Evaluate("A" & Format(i, "00") & "!A1")) Then
  With Sheets("A" & Format(i, "00")).Range("a1")
    .Offset(, 1) = .Value
  End With
 End If
Next i
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan