• 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.

Macro werkt niet op andere tabbladen

Status
Niet open voor verdere reacties.

JohanGo

Gebruiker
Lid geworden
2 jul 2014
Berichten
7
Hallo.
Ik heb excel 2010 en werk met windows8
Excel is voor mij niet nieuw, maar met mijn makro kan ik niet doen wat ik wil.
Mijn werkmap bestaat uit 52 tabbladen (weken in het jaar)
Per tabblad de dagen van de week met daaronder 'wat' er te gebeuren valt, 'waar' en 'tijdstip'.
Nu had ik graag vijf lijnen (wat-waar-tijdstip) ingevoegd onder een bepaalde datum.
Ik neem mijn macro op als volgt:
De cel waar de ingevoegde lijnen dienen te komen is reeds geselecteerd (in tab Week01)
Ik ga naar tabblad 'blokje' waar ik de vijf lijnen selecteer.
Dan ga ik terug naar mijn eerste tabblad 'Week01' en wordt daar geplakt (gekopieerde cellen invoegen)
Daar stop ik de macro.
Uitvoeren op Week01 is geen probleem.
Wil ik nu bij week07 mijn macro uitvoeren, wordt terug Week01 geopend en daar de lijnen ingevoegd.
Kan mij iemand helpen om de macro in alle tabbladen te kunnen invoegen.
Dank op voorhand

Code:
Sub Blokje03()
'
' Blokje03 Macro
' Blokje van 5 lijnen invoegen
'
' Sneltoets: Ctrl+Shift+I
'
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
    Sheets("Blokje").Select
    Selection.Copy
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("Week01").Select
    Selection.Insert Shift:=xlDown
End Sub
 
Laatst bewerkt door een moderator:
Dat is toch logisch lijkt me met deze regel erin:
Sheets("Week01").Select
 
Laatst bewerkt:
Dag edmoor.
Ik zie dat mijn antwoord de mist is ingegaan.
Als ik dat lijntje weglaat, gaat er niks meer.
Door wat kan ik dat vervangen?
Dank voor uw reactie
 
Door je macro volledig om te bouwen tot een echte code zonder Select, Selection.
Het is absoluut niet nodig om een werkblad te selecteren om er iets uit te kopieëren.
Als je daar van uit gaat is het niet moeilijk om je code universeel te maken voor alle tabbladen.
 
Dank warme bakkertje.
Ik zal nog wat experimenteren met de macro. Al weet ik niet juist wat.
Moet er dan niet staan waar ik de te kopiëren info haal?
kan ik dan Sheets("Blokje").Select vervangen door enkel Select
Ga het eens proberen.
Ben geen echte crack daarin.
 
Kan mij iemand helpen om de macro in alle tabbladen te kunnen invoegen.
Voorbeeld:
Stel, Blad1 is het eerste blad en je wil het bereik A2:B5 van dat blad op alle andere bladen invoegen vanaf A7.
Je zou dan deze macro kunnen gebruiken:
Code:
Sub Kopieer()
Dim x As Integer, mijnbereik As Range
'Deze macro is geschreven door Zapatr
Set mijnbereik = Sheets("Blad1").Range("A2:B5")
Application.ScreenUpdating = False
For x = 2 To Sheets.Count
With Sheets(x)
mijnbereik.Copy
.Range("A7:B10").Insert Shift:=xlDown
End With
Next x
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
 
Dank zapatr
Ik ga dit eens proberen en laat iets weten.
Groetjes
 
Hallo zapatr
Uw oplossing bracht me al een heel eind op weg.
Probleem was dat de macro nu op ieder tabblad werd uitgevoerd. Dat was niet de bedoeling.
De rijen moesten op 1 tablad worden uitgevoerd en bij een specifieke selectie op dit tabblad.
Dat lag waarschijnlijk aan regel vanaf For x = 2 To Sheets Count en de Next
Dat kan ik nog herinneren van het vroegere programmeren met Dos.
Met wat proberen kwam ik tot onderstaande:
Sub Kopieert()
Dim x As Integer, mijnbereik As Range
'Deze macro is geschreven door Zapatr
Set mijnbereik = Sheets("Blokje").Range("A1:B6")
Application.ScreenUpdating = False
mijnbereik.Copy
Selection.Insert Shift:=xlDown
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
Misschien mag hier nog wat weg, maar voorlopig werkt de macro.
Nog eens proberen om er een sneltoets aan toe te wijzen.
Hartelijk dank
 
Uit jouw vraag om de macro in alle tabbladen te kunnen invoegen maakte ik op dat je hem in 1 keer in alle bladen wilde uitvoeren. Kennelijk bedoelde je: wel in alle bladen, maar niet in alle bladen tegelijkertijd, maar dat konden lezers van dit forum natuurlijk niet weten.
Je schrijft: "De rijen moesten op 1 tablad worden uitgevoerd en bij een specifieke selectie op dit tabblad."
Als je daarmee bedoelt dat het gekopieerde steeds op hetzelfde blad op dezelfde plaats moeten worden ingevoegd, dan kun je best aangeven WAAR dat dan is (zoals ik in mijn macro deed).

NB: Als je vba-code op het forum plaatst, zet die dan tussen codehaken, daar doe je de moderator (en ook wel lezers van dit forum) een plezier mee.
 
Laatst bewerkt:
Inderdaad, dit was niet duidelijk in mijn vraag.
Code tussen codehaken zetten... euhmm dat zoek ik dan eens uit hoe dit moet (zal wel op forum staan dank ik)
Je bent nooit te oud om te leren (blijkt nog maar eens)
Ondertussen ook een sneltoets kunnen toewijzen en alles werkt zoals behoren.
bedankt voor de hulp.
 
Gebruik het volgende:
[ CODE] je code [ /CODE]

Maar dan zonder de spaties na het [ teken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan