Ik heb een Form0 om een project op te starten en een Form1 voor de projectinstellingen.
De code hieronder heeft betrekking op de volgende workflow:
Form 1 Initialisatie
Op zich werkt de code prima, maar ik krijg een fout 91 op Form1.Show een fout 91. Dit heeft iets met Set of With te maken. Ongetwijfeld met de Set wsSheet die ik gebruik om te kijken of de worksheet bestaat, maar ik kom er niet vanaf, ondanks dat ik hem netjes op Nothing zet.
De code hieronder heeft betrekking op de volgende workflow:
- Open Form1
- -Als worksheet (ProjectSettings) nog niet bestaat
- Sluit Form1
- Open Form0
- Maak onder meer (ProjectSettings) aan
- Sluit Form0
- Open weer Form1
- -Als ws ("ProjectSettings) inmiddels wel bestaat, ga door met Form1
Visual Basic:
1
2
3
4
5
6
7
| Sub OpenForm1() Form1.Show End Sub Sub OpenForm0() Form0.Show End Sub |
Form 1 Initialisatie
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Private Sub UserForm_Initialize() 'controleer of project is geinitialiseerd Dim wsSheet As Worksheet On Error Resume Next Set wsSheet = Worksheets("ProjectSettings") On Error GoTo 0 If Not wsSheet Is Nothing Then MsgBox "is al gestart" 'bestaat al: ga door met openen form Else 'bestaat niet: ga naar form start Set wsSheet = Nothing Unload Me Run "OpenForm0" Exit Sub End If Set wsSheet = Nothing |
Op zich werkt de code prima, maar ik krijg een fout 91 op Form1.Show een fout 91. Dit heeft iets met Set of With te maken. Ongetwijfeld met de Set wsSheet die ik gebruik om te kijken of de worksheet bestaat, maar ik kom er niet vanaf, ondanks dat ik hem netjes op Nothing zet.