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

Sub of Function is niet gedefinieerd

Status
Niet open voor verdere reacties.

apikills

Gebruiker
Lid geworden
14 jul 2005
Berichten
160
Wat is er fout aan onderstaande code ?

Alle hulp is welkom.:)

Apikills


Private Sub CommandButton1_Click()
'
' Toegangscode en (un)lock-keuze controleren
'
If TextBox1.Value <> "lockme" Then
UserForm3.Show
Else
If OptionButton1.Enabled = False And OptionButton2.Enabled = False Then
MsgBox "Maak een keuze voor Lock of Unlock", vbOKOnly
Else
Dim teller As Integer
For teller = 1 To 31
Sheet(teller).Select
If OptionButton1.Enabled = True Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next
End If
End If
End Sub
 
Als je Excel zelf laat bepalen waar de fout zit... dan zou je dit toch veel sneller ontdekken?

Nu moeten we de volledige code lezen, en op alle details letten.

Private Sub CommandButton1_Click()
'
' Toegangscode en (un)lock-keuze controleren
'
If TextBox1.Value <> "lockme" Then
UserForm3.Show
Else
If OptionButton1.Enabled = False And OptionButton2.Enabled = False Then
MsgBox "Maak een keuze voor Lock of Unlock", vbOKOnly
Else
Dim teller As Integer
For teller = 1 To 31
Sheets(teller).Select
If OptionButton1.Enabled = True Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next
End If
End If
End Sub

Vermoedelijk is het enkel de s die je vergeten bent achter Sheet

Luc
 
Thanks Luc,:thumb:

je had helemaal gelijk. Maar hoe stel ik dat zelf controleren in ? Zal vast wel een optie ergens zijn. (Ben startende VBA-er ....:D )
 
Als je code geschreven is: Foutopsporing => VBA Project Compileren.

Maar ik had het eerder over dit:
Als je je code uitvoert, dan werkt die niet, en Excel vraagt meteen of ie naar de fout moet gaan. Maar ja... nu realiseer ik me dat het om een UserForm gaat... en dan springt ie natuurlijk niet onmiddellijk naar de fout, maar naar UserForm1.Show
En bovenaan elke code zet je dit: (Eénmaal per module)

Option Explicit

Luc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan