![]() |
Event procedures for controls added with Controls.Add
I need to create event procedures for controls added with Controls.Add.
The following approach was suggested: Private Sub UserForm_Activate() Dim Ct As Control, StartLine as long Set Ct = Me.Controls.Add("Forms.TextBox.1", "txtNew" , True) With ActiveWorkbook.VBProject.VBComponents("UserForm1") .CodeModule StartLine = .CreateEventProc("Change", Ct.Name) + 1 End With But I get a runtime error on the .CreateEventProc call - Error 57017 "Event handler is invalid" Where have I gone wrong? Are there any other approaches (such as control arrays in VB6) Many thanks, -- John Austin |
Event procedures for controls added with Controls.Add
Another complication: When the workbook is protected, the line:
With ActiveWorkbook.VBProject.VBComponents("UserForm1") .CodeModule causes a run-time error. I really need to trap the TextBox change events with the VBA code protected. "John Austin" wrote: I need to create event procedures for controls added with Controls.Add. The following approach was suggested: Private Sub UserForm_Activate() Dim Ct As Control, StartLine as long Set Ct = Me.Controls.Add("Forms.TextBox.1", "txtNew" , True) With ActiveWorkbook.VBProject.VBComponents("UserForm1") .CodeModule StartLine = .CreateEventProc("Change", Ct.Name) + 1 End With But I get a runtime error on the .CreateEventProc call - Error 57017 "Event handler is invalid" Where have I gone wrong? Are there any other approaches (such as control arrays in VB6) Many thanks, -- John Austin |
All times are GMT +1. The time now is 07:10 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com