• 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 na bladbeveiliging

Status
Niet open voor verdere reacties.

ZIPPO_2

Gebruiker
Lid geworden
21 jun 2006
Berichten
88
Wanneer ik in onderstaand (onbeveiligd) rekenblad de macro activeer via de Reken knop loopt alles perfect. Maar als ik het blad beveilig en ik voer de macro opnieuw uit dan krijg ik
Foutmelding 1004 tijdens uitvoering
Deze opdracht werkt niet op een beveiligd blad enz......
 

Bijlagen

Hoi ZIPPO_2,

Mischien dat dit kan helpen:

Voordat je de module 'reken' uitvoerd eventjes
Code:
    ActiveSheet.Unprotect

En aan het einde van de code
Code:
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 
Hoi ZIPPO_2,

Mischien dat dit kan helpen:

Voordat je de module 'reken' uitvoerd eventjes
Code:
    ActiveSheet.Unprotect

En aan het einde van de code
Code:
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Dit gaat normaal werken.

Zippo, kijk ook in de help files eens naar UserInterfaceOnly.

Wigi
 
Macro werkt niet.............

Ik vermoed dat ik de codes aan het begin en het einde van de macro moet plaatsen, maar hij doet het nog steeds niet wel krijg ik nu de vraag voor het wachtwoord.
 
Hoi ZIPPO_2,

De codes moeten idd, aan het begin en einde van de code staan. Om ze met wachtwoord te gebruiken (zie onderstaande)
Code:
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="JouwWachtwoord"

Code:
    ActiveSheet.Unprotect Password:="JouwWachtwoord"
 
Macro werkt niet.............

het is eigenlijk niet de bedoeling dat er naar een paswoord gevraagd wordt
als ik de macro in het beveiligd blad uitvoer krijg ik steeds foutmelding in deze regel van de code
PHP:
 If Range("B" & c.Row).Resize(, 10).SpecialCells(xlCellTypeBlanks).Count <= 6 Then
 
Macro werkt niet.............

Geen probleem Spiderman. Succes met je zoektocht
Wat ik trouwens ben vergeten te vermelden is dat ik de oorspronkelijke code eigenlijk afkomstig is van Wigi
 
Deze werkt bij mij uitstekend in Excel 2003.

Code:
Sub Reken()

ActiveSheet.Unprotect

Dim c As Range, rngToDo As Range, col1 As Integer, col2 As Integer
Set rngToDo = Range("L4:L" & Range("A" & Rows.Count).End(xlUp).Row)
rngToDo.Resize(, 2).ClearContents
For Each c In rngToDo
    If Range("B" & c.Row).Resize(, 10).SpecialCells(xlCellTypeBlanks).Count <= 6 Then
        col1 = 10
        Do While Cells(c.Row, col1) = ""
            col1 = col1 - 2
        Loop
        
        col2 = col1 - 2
        
        Do While Cells(c.Row, col2) = ""
            col2 = col2 - 2
        Loop
        
        c = Cells(c.Row, col1) - Cells(c.Row, col2)
        c.Offset(, 1) = Cells(c.Row, col1).Offset(, 1) - Cells(c.Row, col2).Offset(, 1)
    End If
Next
rngToDo.Resize(, 2).EntireColumn.AutoFit

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

Groet,
Ferenc
 
Macro werkt niet.............

Bij mij wil het maar niet lukken
Ik gebruik MS Office Pro Excel 2002
 
Post nogmaals je voorbeeld file met al de hulpmiddelen die de heren boven ons hebben aangedragen. Misschien staat er toch nog iets fout in jouw file?

Groet,
Ferenc
 
Heb dit gebruikt in de macro en getest met Excel 2000 en het werkte :

ActiveSheet.Unprotect
' macro
ActiveSheet.Protect

Pierre
 

Bijlagen

Macro werkt niet.............

ik heb ondertussen wat aan het puzzelen geweest en na ingave van
ActiveSheet.Unprotect Password:="Mijn paswoord"
en
ActiveSheet.Protect Password:="Mijn paswoord"
werkt het wel.
Het weglaten van de andere fucties in de laatste regel die je hebt voorgesteld hebben blijkbaar geen invloed op mijn programma of zie dat verkeerd
 
Als je met de macrorecorder opneemt krijg je dit:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

maar je kunt dit verkleinen tot :
ActiveSheet.Protect

Heeft verder geen invloed.

PS : Is je vraag opgelost?
Klik dan op de "vraag is opgelost" rechtsonder op de pagina.

Pierre
 
Laatst bewerkt:
Juist gevonden :


Voor Excel 97 tot 2000 moet je dit plaatsen in ThisWorkbook :

Private Sub Workbook_Open()
Sheets("Blad1").Protect Password:="wachtwoord", UserInterfaceOnly:=True
End Sub

P.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan