Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi all
I have set up a form with sixty textbox controls on it to allow the user to enter some data. After starting to write Enter, KeyPress and AfterUpdate event procedures for each control, I realised that there must be an easier way, so did a bit of hunting and found the class event approach. Deleted all my procedures and set it all up again using the class approach. Now, the problem I'm having is that I have more than one event for each control, i.e. AfterUpdate, KeyPress and Enter. The keypress event seems to fire perfectly, but the Enter and AfterUpdate events don't. I have set up a different class for each data entry type (I'm entering dates and numbers) and when populating the control arrays at form initialisation, I determine what to do with each textbox control by specific text in it's name. Are there issues with using multiple class events for the same control? Is there a way to get this to work? Regards, and thanks in advance Martin This is what I have done (if it's of any use): Private TBDATES() As New TBDateClass Private TBNUMS() As New TBNumberClass Private Sub UserForm_Initialize() Dim TBD_COUNT As Integer, TBN_COUNT As Integer Dim CTL As Control TBD_COUNT = 0 TBN_COUNT = 0 For Each CTL In Me.Controls With CTL If TypeName(CTL) = "TextBox" And .Parent.Name = "Frame1" Then If InStr(.Name, "DATE") 0 Then TBD_COUNT = TBD_COUNT + 1 ReDim Preserve TBDATES(1 To TBD_COUNT) Set TBDATES(TBD_COUNT).TBDGroup = CTL Else TBN_COUNT = TBN_COUNT + 1 ReDim Preserve TBNUMS(1 To TBN_COUNT) Set TBNUMS(TBN_COUNT).TBNGroup = CTL End If End If End With Next CTL End Sub Then I have set up two class modules: TBDateClass code: Public WithEvents TBDGroup As MSForms.TextBox Private Sub TBDGroup_AfterUpdate() With TBDGroup '...my code End With End Sub Private Sub TBDGroup_Enter() With TBDGroup '...my code End With End Sub Private Sub TBDGroup_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) '...my code End Sub TBNumberClass code: Public WithEvents TBNGroup As MSForms.TextBox Private Sub TBNGroup_AfterUpdate() With TBNGroup '...my code End With End Sub Private Sub TBNGroup_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) '...my code End Sub *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
call a function on control click event | Excel Discussion (Misc queries) | |||
label_change event?? ODBC control?? | Excel Programming | |||
No change event on control toolbox combo box when selection is the same? | Excel Programming | |||
Control Exit event | Excel Programming | |||
Cannot get appropriate Event fired with WinSock control | Excel Programming |