Het probleem is het volgende :
In het programma zit een userform waarin de naam van een te importeren sheet moet worden opgegeven.
De sheet heeft bv de naam 118T5.csv en wordt in een textbox ingegeven.
Wanneer de naam goed is ingebracht dan gaat de verwerking perfect.
Maak je echter een tikfout en dan is dat sheet niet aanwezig dan komt er een fout melding "Subscript buiten bereik" of ""subscript out of array"
Is er iemand die kan vertellen hoe dit kan worden opgevangen.
a. met een stuk coding waarmee gecontroleerd wordt dat de gevraagde naam niet aanwezig is, en terug naar het invoer veld. of
b het afvangen van de foutmelding met een melding en terugkeer naar de userform
Onderstaand een deel van de coderring
Dim Bestandsnaam As String
Dim regelteller As Double
Sheets("Inschrijvingen").Visible = True
Sheets("Inschrijvingen").Select
Range("I1").Select
Bestandsnaam = Range("I1").Value
Sheets("Basis ").Visible = True
Sheets("Basis ").Select
Range("P40").Select
regelteller = Range("P40").Value * 2
Sheets("Basis ").Visible = False
'' If WorksheetExists(Bestandsnaam) = True Then
'' Windows(Bestandsnaam).Activate
'' Else
'' MsgBox "Er is een verkeerde naam gebruikt nl : " & Bestandsnaam & " Opnieuw doen !!"
'' Exit Sub
'' End If
Deze routine werkte wel maar alleen als de gebruikte bestandsnaam juist was. (er stonden dan geen "" voor)
Op internet de onderstaande routine gevonden :
Set wBook = Workbooks(Bestandsnaam)
If wBook Is Nothing Then 'Not open
MsgBox "Opgegeven bijlage naam : " & Bestandsnaam & " bestaat niet, opnieuw opgeven "
Set wBook = Nothing
On Error GoTo 0
Else 'It is open
MsgBox "ja gevonden "
Windows(Bestandsnaam).Activate
'' Set wBook = Nothing
On Error GoTo 0
End If
Ook deze werkt aleen als de naam juist is.
In het programma zit een userform waarin de naam van een te importeren sheet moet worden opgegeven.
De sheet heeft bv de naam 118T5.csv en wordt in een textbox ingegeven.
Wanneer de naam goed is ingebracht dan gaat de verwerking perfect.
Maak je echter een tikfout en dan is dat sheet niet aanwezig dan komt er een fout melding "Subscript buiten bereik" of ""subscript out of array"
Is er iemand die kan vertellen hoe dit kan worden opgevangen.
a. met een stuk coding waarmee gecontroleerd wordt dat de gevraagde naam niet aanwezig is, en terug naar het invoer veld. of
b het afvangen van de foutmelding met een melding en terugkeer naar de userform
Onderstaand een deel van de coderring
Dim Bestandsnaam As String
Dim regelteller As Double
Sheets("Inschrijvingen").Visible = True
Sheets("Inschrijvingen").Select
Range("I1").Select
Bestandsnaam = Range("I1").Value
Sheets("Basis ").Visible = True
Sheets("Basis ").Select
Range("P40").Select
regelteller = Range("P40").Value * 2
Sheets("Basis ").Visible = False
'' If WorksheetExists(Bestandsnaam) = True Then
'' Windows(Bestandsnaam).Activate
'' Else
'' MsgBox "Er is een verkeerde naam gebruikt nl : " & Bestandsnaam & " Opnieuw doen !!"
'' Exit Sub
'' End If
Deze routine werkte wel maar alleen als de gebruikte bestandsnaam juist was. (er stonden dan geen "" voor)
Op internet de onderstaande routine gevonden :
Set wBook = Workbooks(Bestandsnaam)
If wBook Is Nothing Then 'Not open
MsgBox "Opgegeven bijlage naam : " & Bestandsnaam & " bestaat niet, opnieuw opgeven "
Set wBook = Nothing
On Error GoTo 0
Else 'It is open
MsgBox "ja gevonden "
Windows(Bestandsnaam).Activate
'' Set wBook = Nothing
On Error GoTo 0
End If
Ook deze werkt aleen als de naam juist is.
Laatst bewerkt: