Na lang zoeken heb ik gevonden dat ik toch gebruik moet maken van withevents om in dynamische forms/frames acties te definieren.
Op dit moment heb ik de volgende 2 stukken code:
Module 1
In de worksheet heb ik de volgende code:
Als ik de code manueel in 2 stappen uitvoer:
Als ik de code automatisch uitvoer met de optie:
add_button -> uit de worksheet
Dan werkt de button niet.
Waar dit probleem ligt weet ik niet. Ik heb wel het idee dat ik iets fout doe. Wat er fout gaat weet ik niet.
Op dit moment heb ik de volgende 2 stukken code:
Module 1
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| Public BaseFrame As Frame Sub add_button() ' Create Frame for Metric Chooser Set BaseFrame = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Frame.1", Link:=False, _ DisplayAsIcon:=False, Left:=10, Top:=10, _ Width:=490, Height:=230).Object With BaseFrame .Object.Caption = "Metric Requirement - Chooser" .Name = "BaseFrame" .Enabled = True End With BaseFrame.Select Selection.Verb Verb:=xlVerbPrimary End Sub |
In de worksheet heb ik de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| Dim WithEvents clear_button As CommandButton Private Sub clear_button_Click() MsgBox "test" End Sub Sub add_button() Module2.add_button create_button_create End Sub Sub create_button_create() Set clear_button = BaseFrame.Controls.Add("Forms.CommandButton.1", "clear_button", True) With clear_button .Left = 100 .Top = 10 .Width = 75 .Height = 30 .Name = "clear_button" .Caption = "Clear" End With End Sub |
Als ik de code manueel in 2 stappen uitvoer:
- Module1.Add_button
- create_button_create
Als ik de code automatisch uitvoer met de optie:
add_button -> uit de worksheet
Dan werkt de button niet.
Waar dit probleem ligt weet ik niet. Ik heb wel het idee dat ik iets fout doe. Wat er fout gaat weet ik niet.