Run-time error '9'

Status
Niet open voor verdere reacties.

excelkees

Gebruiker
Lid geworden
7 sep 2010
Berichten
155
Beste mensen,
mijn macro (excel 2000 vba) geeft een foutmelding: Run-time error '9' Subscript out of range
kan iemand mij vertellen wanneer dit gebeurd, wat er gebeurd en wat doe ik verkeerd?
Code:
Dim  dc
Dim sN  As Worksheet  
dc = Right(Year(Date), 1) & Format((Date), "mm") & Format((Date), "dd")
sH.Copy After:=Worksheets(Worksheets.Count)
NewPageName = dc 
ActiveWindow.ActiveSheet.Name = NewPageName
Set sN = Sheets(dc)
alvast mij dank voor jullie reacties, mvg Kees
 
Laatst bewerkt:
excelkees,

Loop eens met F8 door de code en zie waar hij stopt.
 
excelkees,

Ik ben maar een amateur, zeker met VBA.

Het moet toch echt in die regel zitten, de fout.

Zo?
Code:
Set sN = Worksheets("dc")
 
@Excel amateur:
dc is een variabele, dus die zou ik niet tussen dubbele haakjes zetten

@Excelkees:

het lijkt erop dat het Blad niet wordt herkend door Excel
wat je in feite doet is een kopie van worksheet sh toewijzen aan variabele Sn

vervolgens krijg je een foutmelding (9)
deze fout houdt in dat het blad niet wordt gevonden.

je maakt ook (in het voorbeeld overbodig) gebruik van variabele NewPageName. deze bevat dezelfde waarde als variabele dc, en lijkt dus overbodig.

Ik kan niet precies zien wat er nog meer fout kan gaan, probeer eens of deze code werkt. zo niet, kun je een groter deel / alles van de procedure laten zien?

Code:
    dc = Right(Year(Date), 1) & Format((Date), "mm") & Format((Date), "dd")
    sh.Copy AFter:=Sheets(Sheets.Count)
    
    ActiveSheet.name = dc
    Set sn = ActiveSheet
 
Code:
Dim  dc, myAnswer 
Dim sN, sH  As Worksheet  
dc = Right(Year(Date), 1) & Format((Date), "mm") & Format((Date), "dd")
Set sH = Sheets("ModelSheet")
   
sH.Copy After:=Worksheets(Worksheets.Count)
  
ActiveWindow.ActiveSheet.Name = dc

On Error GoTo InvalidName

Set sN = Sheets(dc) 'stopt hier error '9'
myAnswer = MsgBox(dc. Gegevens juist?!. doorgaan? ", vbOKCancel) 
If myAnswer = vbCancel Then Exit Sub
 
Blad niet wordt herkend

Mark xl,
inderdaad, vlgs mij is je opmerking: het lijkt erop dat het Blad niet wordt herkend door Excel misschien wel de richting waar moet worden gezocht?
 
Code:
Dim  dc, myAnswer 
Dim sN, sH  As Worksheet  
dc = Right(Year(Date), 1) & Format((Date), "mm") & Format((Date), "dd")

Set sH = Sheets("ModelSheet")
sH.Copy After:=Worksheets(Worksheets.Count)
ActiveWindow.ActiveSheet.Name = dc

On Error GoTo InvalidName

Set sN = Sheets(dc) 'stopt hier error '9'
myAnswer = MsgBox(dc & ". Gegevens juist?!. doorgaan? ", vbOKCancel) 
If myAnswer = vbCancel Then Exit Sub
InvalidName: MsgBox "Het werkblad:  " & dc & " bestaat al, kies een nieuwe naam."
 
excelkees,

Ik weet niet wat er fout gaat bij je maar hier loopt hij gewoon door.

Op Sheets("ModelSheet") heb ik een paar getallen gezet en de (laatste uit #11) macro laten lopen en die werkt zonder fout melding.
 
Laatst bewerkt:
Met vriendelijke groet, Bedankt helpers.
ik weet niet waarom maar bij mij nu ook!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan