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

Melding macro in beveiligdblad

Status
Niet open voor verdere reacties.

mark1987vw

Gebruiker
Lid geworden
19 mei 2009
Berichten
96
Hallo allemaal,

Ik heb een vraag over het uitvoeren van een macro in een beveiligd blad.
Ik heb informatie hierover gevonden op dit forum, alleen werkt er 1 ding niet bij mij en dat is dat ik nog een steeds een melding krijg dat ik een aanpassing wil doen in een beveiligd blad.

Ik heb een Excel bestand met een macro die bij dubbel klik op een cel met de letter "c" er automatisch een "a" van maakt. bij de lettertype Webdings krijg je dan een soort checkbox.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim cl As Range
   Rng = ActiveCell.Address
If Range(Rng) = "a" Then Range(Rng) = "c": Exit Sub
If Range(Rng) = "c" Then Range(Rng) = "a":
End Sub

Dit werkt prima zoals ik het wil.
Echter wanneer ik het blad beveilig dan kan die uiteraard de cel niet meer aanpassen.
Op dit forum gevonden hoe dit mogelijk is en heb ik de volgende code in "ThisWorkbook" Ingevuld.

Code:
Private Sub Workbook_Open()
Sheets("Frietluik").Protect userinterfaceonly:=True
End Sub

Het werkt nu prima, alleen krijg ik nog steeds de melding dat het niet kan.
Melding-Beveiligging.PNG

En dit vind ik bijzonder irritant. Dus is het mogelijk om deze melding ook weg te krijgen ? mogelijk door een aanpassing in de code of een instelling of iets dergelijks.
Ik hoop dat iemand hier een oplossing voor heeft!
 
Code:
Private Sub Workbook_Open()
Sheets("Frietluik").Protect userinterfaceonly:=True
Application.DisplayAlerts = False
End Sub

Ik heb het nu zo geprobeerd, maar dit maakt helaas niks uit
 
haal er in het begin van de code de beveiliging af en op het eind er terug op.
 
plaats eens (een voorbeeld van) je bestand, zonder gevoelige gegevens
 
Kan in ieder geval eenvoudiger.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 target = iif(target = "","",iif(target = "a", "c", "a"))
 cancel = true
End Sub
 
Laatst bewerkt:
Bijgevoegd het Excel bestand. Het gaat om het tabblad Frietluik
 

Bijlagen

  • Afsluitlijst4.xlsm
    79,6 KB · Weergaven: 18
Laatst bewerkt:
Kan in ieder geval eenvoudiger.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 target = iif(target = "","",iif(target = "a", "c", "a"))
 cancel = true
End Sub

Oke bedankt. Dan heb ik nog een vraag. Is het toevallig ook mogelijk om i.p.v. dubbelklik ook enkelklik in te stellen.
 
Met de selectionchance()
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 3 Or Target.Column = 4 and taget.row > 4 Then Target = IIf(Target = "", "", IIf(Target = "a", "c", "a"))
End Sub

De melding verkrijg ik in beide gevallen niet met de codes die ik geplaatst heb.
 
Met de selectionchance()
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 3 Or Target.Column = 4 and taget.row > 4 Then Target = IIf(Target = "", "", IIf(Target = "a", "c", "a"))
End Sub

De melding verkrijg ik in beide gevallen niet met de codes die ik geplaatst heb.
Foutopsporing.PNGFoutmelding-frietluik.PNG
Als ik deze in de code van het blad vervang voor de code die ik al had dan geeft die een fout melding.

Update:

De eerste code die je hebt gepost met de double click die werkt wel! alleen het enkele klikken werkt niet.

Update 2:

Wanneer ik nu op een willekeurige cel klik, Dus ook de overige teksten. Dan veranderd hij deze ook naar een a of een c. Dus niet alleen de 'Checkbox'
 
Laatst bewerkt:
Klein foutje.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 3 Or Target.Column = 4 and ta[COLOR=#ff0000]r[/COLOR]get.row > 4 Then Target = IIf(Target = "", "", IIf(Target = "a", "c", "a"))
End Sub
 
Klein foutje.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 3 Or Target.Column = 4 and ta[COLOR=#ff0000]r[/COLOR]get.row > 4 Then Target = IIf(Target = "", "", IIf(Target = "a", "c", "a"))
End Sub

Top alles werkt nu! bedankt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan