Hét vraag- en antwoordplatform van Nederland

Hoe kan ik een macro maken met excel waar bepaald cellen uit alle volgende tabbladen worden gehaald?

Ik heb een macro gemaakt waarbij er een tabblad wordt gemaakt en waarbij hij vervolgens uit de volgende 100 tabbladen bepaalde cellen kopieert. Een gedeelte van de macro:

Sheets(ActiveSheet.Index + 1).Activate
Range("A1:E45").Select
Selection.Copy
Range("A1").Select
ActiveWindow.SmallScroll Down:=-39
Sheets("Totaal Programma").Select
Range("H4").Select
Selection.Insert Shift:=xlDown
Range("A1").Select

Dit stukje wordt 100x herhaald alleen dan wordt Sheets(ActiveSheet.Index + 1).Activate, +2 ,+3 enz...

Ik weet bij voorbaat niet hoeveel tabbladen er nog achter komen, nu zijn er bijvoorbeeld de ene keer 54 tabbladen en de andere keer 74. Excel geeft nu een foutmelding omdat hij niet tot het 100 tabblad kan komen. weet iemand hoe ik dit op kan lossen zonder foutmelding.

dus dat de cellen A1 t/m E1 van alle volgende tabbladen gekopieerd worden in het tabblad "Totaal Programma" zonder foutmeldingen.

Verwijderde gebruiker
10 jaar geleden
in: Software

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Geef jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image

Het beste antwoord

Niet de fraaiste oplossing, maar wel simpel is een OnError statement toevoegen. In een OnError ga je naar een melding en kun je de macro afsluiten. Je doet dan de aanname dat als de fout ontstaat omdat er geen volgend tabblad meer is, dat de macro klaar is.
(Lees meer...)
paulus811
10 jaar geleden
Verwijderde gebruiker
10 jaar geleden
Dit zou denk ik een oplossing kunnen zijn, maar dit zou wel beteken dat ik bij alle 100 stukje van de bovenstaand macro een OnError moet toevoegen
paulus811
10 jaar geleden
Nee hoor, ik neem tenminste aan dat je een For Next loop hebt. Je kunt dan 100 x hetzelfde stukje runnen en maar 1 x in de macro opnemen. Je krijgt dan iets van: Dim x as variant For x = 1 to 100
macro
x = x + 1
OnError GoTo Ready
next x Ready:
MsgBox 'Macro gereed'
end sub
Verwijderde gebruiker
10 jaar geleden
Bedankt het werkt het is aan het eind alleen geen x = x + 1 maar x = x anders doet hij tabblad 1, 3, 5 etc
Verwijderde gebruiker
10 jaar geleden
Het werkt, Bedankt!
Deel jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image