• 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's niet op elk blad

Status
Niet open voor verdere reacties.

W Bloemendal

Gebruiker
Lid geworden
28 jan 2001
Berichten
503
Hoe komt het dat onderstaande macro niet op elk werkblad uitgevoerd wordt.

Code:
Sub Macro1()

    Dim Ws As Worksheet
    For Each Ws In ThisWorkbook.Sheets
 
    ActiveSheet.Unprotect
    Cells.Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Rows("1:1").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
   
Next
    
End Sub
Als ik de macro uitvoer wordt de macro uitgevoerd op 6 van de 14 bladen, terwijl dit op alle bladen zou moeten.

wim
 
Je definieert een variabele ws voor een worksheet, maar gebruikt hem verder in je code nergens. Die selections zijn ook nergens voor nodig, probeer die zo veel mogelijk te beperken.

Herschrijf eerst die macro eens door gebruik te maken van de variabel ws.

bv.
Code:
activesheet.protect wordt dan ws.protect

enz.
 
Ik heb nu dit

Code:
 Dim Ws As Worksheet

    For Each Ws In ThisWorkbook.Sheets
    
    Ws.Unprotect
    Ws.Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Rows("1:1").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
    
    Next

Maar nu wordt dit nog niet op alle werkbladen uitgevoerd

wim
 
post eens een voorbeeldbestand indien mogelijk.
 
W.Bloemendal, Van welk type zijn de sheets die niet worden meegenomen??? Zijn dat toevallig Chart-sheets? Je declareert je WS namelijk als 'worksheet' en dan zal een chart-sheet niet worden meegenomen.
En hoe weet je dat ze niet worden meegenomen?

Groet, Leo
 
Ik heb nooit met chart-sheets gewerkt weet niet wat het is.

Macro beveiligd de eerste regel van alle bladen in de macro maar als ik naar de bladen ga dan zijn er verschillende bladen, waar de eerste regel niet beveiligd is.
Deze regel mag dan niet geselecteerd kunnen worden.


wim
 
W Bloemendal, Een chart-sheet is een werkblad waar alleen een grafiek op staat. Je hebt de mogelijkheid bij de chart-wizard om aan te geven of je je grafiek wilt hebben op het blad waar je bezig bent of op een nieuw aangemaakte. Als je voor het laatste kiest wordt het type 'chart-sheet' aangemaakt.

Je hebt het over '6 van de 14 bladen'. Bedoel je hiermee blad 1 t/m 6 en daarna gaat het fout of zitten er 'gaten' in je bereik van bladen (dus bv. 1,2, 4,5,6, 9,enz)? Bij de 1e optie zou je 'ns kunnen kijken of er iets mis is m et blad 6 waardoor de code 'klapt'.
Een andere tip kan zijn om de code 'ns 'stap voor stap' (druk in je VBE - als je in je codeblokje staat - op F8 of gebruik de knop 'Step Into') te laten lopen. Hiermee loop je handmatig door de code-lus en kan je dus steeds in de gaten houden waar het goed of niet goed (en waarom) gaat.

En als je er dan nog niet uit komt, is de tip van Finch...
post eens een voorbeeldbestand
...echt héél noodzakelijk!

Groet, Leo
 
ik had na ws.select cells.select toegevoegd en de macro stap na stap uitgevoerd werkt nu wel. cells.Select verwijderd en nu werkt de macro toch ook ik weet niet waarom eerst niet.

wim
 
hallo

met bovenstaande wordt een blad "beschermd" er kan dan een regel niet geselecteerd of veranderd worden en de rest van het blad wel.

Nu wil ik het zo maken dat er op het blad niets gewijzigd kan worden, maar ook dat er de eerste regel niet geselecteerd kan worden. met blokkeren en beveiligen kan je wel maken dat de eerste regel niet geselecteerd kan worden maar dan kan je de rest van het blad wel wijzigen maar dat mag nu net niet.

Is dit mogelijk

wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan