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

Subscript

Status
Niet open voor verdere reacties.

Jack Nouws

Terugkerende gebruiker
Lid geworden
16 apr 2008
Berichten
1.396
Goedendag allemaal,


Ik heb voor mezelf een programma gemaakt waar ik gebruik maak van een inlogcode in VBA. Telkens als ik nu wil inloggen komt er een foutmelding nl: "Het subscript valt buiten het bereik". Hoe kan ik dit oplossen? Alvast bedankt!
 
Zonder code gaan wij ook niet veel kunnen doen ;)

8 van de 10 keren is dat omdat je naar een blad wil gaan dat niet bestaat, maar er zijn nog andere mogelijkheden.

Wigi
 
Zonder code gaan wij ook niet veel kunnen doen ;)

8 van de 10 keren is dat omdat je naar een blad wil gaan dat niet bestaat, maar er zijn nog andere mogelijkheden.

Wigi

kan het ook zijn dat ik de opmaak veranderd heb en dat de verwijzing niet meer klopt?
 
De layout van tabbladen? Ja dan wel. Bv. een benoemd bereik dat niet meer bestaat.

Klopt ja, ik heb nl. de tabbladen een nummer gegeven en die moeten eigenlijk aan de nummering van "Tabblad Registreren" gekoppeld worden, ik heb er diverse keren mee aan het stoeien geweest maar ik krijg het niet voor elkaar. Elke keer als ik wat verander komt er een foutmelding bijv: "fout 400" wat dat wil zeggen weet ik niet maar ik wil via deze weg nog een beroep op je doen Wigi!
 

Bijlagen

Jack,

Als de user bv Pamela is wil je code naar tabblad Pamela gaan.
(En die is er niet)

in de Sub Login()
staat nl. hetvolgende
Code:
With Sheets(sUserName)
            .Visible = True
            .Select
End With
Sheets("Registreren").Visible = False


Dus al je tabbladen moeten de naam krijgen van de users in range Q2:Q12

Koosl
 
Laatst bewerkt:
Jack,

Als de user bv Pamela is wil je code naar tabblad Pamela gaan.
(En die is er niet)

in de Sub Login()
staat nl. hetvolgende
Code:
With Sheets(sUserName)
            .Visible = True
            .Select
End With
Sheets("Registreren").Visible = False


Dus al je tabbladen moeten de naam krijgen van de users in range Q2:Q12

Koosl

En hoe krijg je alle Users in Range?
 
Code:
Sub LogIn()
Dim rVindID As Range
Dim sUserName As String
[B]Dim sPersoonNummer As String[/B]

    Set rVindID = Range("P1:P100").Find(Range("rngID"))

    If Not rVindID Is Nothing And Range("rngID").Value <> "" Then
        sUserName = rVindID.Offset(, 1)
        [B]sPersoonNummer = CStr(rVindID.Offset(, -1))[/B]
        MsgBox "Welkom " & sUserName & Chr(13) & Chr(13) & _
                "Druk op OK om verder te gaan...", vbOKCancel, "Code OK"
        Range("rngID").Value = ""
        With Sheets([B]sPersoonNummer[/B])
            .Visible = True
            .Select
        End With
        Sheets("Registreren").Visible = False
    Else
        MsgBox "Code onjuist!" & Chr(13) & Chr(13) & _
                IIf(Range("rngID").Value = "", "Vul eerst je persoonlijke code in...", "") _
                , vbOKOnly, "Fout"
        Range("rngID").Value = ""
    End If
        
End Sub
 
Code:
Sub LogIn()
Dim rVindID As Range
Dim sUserName As String
[B]Dim sPersoonNummer As String[/B]

    Set rVindID = Range("P1:P100").Find(Range("rngID"))

    If Not rVindID Is Nothing And Range("rngID").Value <> "" Then
        sUserName = rVindID.Offset(, 1)
        [B]sPersoonNummer = CStr(rVindID.Offset(, -1))[/B]
        MsgBox "Welkom " & sUserName & Chr(13) & Chr(13) & _
                "Druk op OK om verder te gaan...", vbOKCancel, "Code OK"
        Range("rngID").Value = ""
        With Sheets([B]sPersoonNummer[/B])
            .Visible = True
            .Select
        End With
        Sheets("Registreren").Visible = False
    Else
        MsgBox "Code onjuist!" & Chr(13) & Chr(13) & _
                IIf(Range("rngID").Value = "", "Vul eerst je persoonlijke code in...", "") _
                , vbOKOnly, "Fout"
        Range("rngID").Value = ""
    End If
        
End Sub

Dank je, het werkt wederom!
 
Code:
Sub LogIn()
Dim rVindID As Range
Dim sUserName As String
[B]Dim sPersoonNummer As String[/B]

    Set rVindID = Range("P1:P100").Find(Range("rngID"))

    If Not rVindID Is Nothing And Range("rngID").Value <> "" Then
        sUserName = rVindID.Offset(, 1)
        [B]sPersoonNummer = CStr(rVindID.Offset(, -1))[/B]
        MsgBox "Welkom " & sUserName & Chr(13) & Chr(13) & _
                "Druk op OK om verder te gaan...", vbOKCancel, "Code OK"
        Range("rngID").Value = ""
        With Sheets([B]sPersoonNummer[/B])
            .Visible = True
            .Select
        End With
        Sheets("Registreren").Visible = False
    Else
        MsgBox "Code onjuist!" & Chr(13) & Chr(13) & _
                IIf(Range("rngID").Value = "", "Vul eerst je persoonlijke code in...", "") _
                , vbOKOnly, "Fout"
        Range("rngID").Value = ""
    End If
        
End Sub


Hoe zit het dan om weer terug te keren! Want volgens mij klopt dat nu ook niet.


Code:
Sub Terug()
Dim sh As Object

    For Each sh In ThisWorkbook.Sheets
        Select Case sh.Name 'het uitvragen via een select is expres
            Case "Registreren"
            sh.Visible = True
        Case Else
            sh.Visible = False
        End Select
    Next sh
    Range("rngNR").Select
End Sub
 
Heb het net uitgeprobeerd en daar is m.i. niks mis mee.

Mvg

Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan