ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Select control on a form after calling procedure (https://www.excelbanter.com/excel-programming/373602-select-control-form-after-calling-procedure.html)

Jake

Select control on a form after calling procedure
 
I have a form that allows users to enter working days for a month in 12 text
boxes and I call a ValidateWorkingDays procedure in the BeforeUpdate event
for each monthly text box. If user needs to re-enter value I have this code
in my ValidateWorkingDays procedu
With Me.Days
.SetFocus
.SelStart = 0
.SelLength = Len(Days)
End With
Days is a string in the ValidateWorkingDays procedure and I pass the
textbox control text to the procedure e.g. Call
ValidateWorkingDays(txtApril.Text, cancel = False)

I get invalid use of Me keyword in a runtime error.
I don't want to repeat code in each month. I'm new at this thanks for any
help.
Jake

Bob Phillips

Select control on a form after calling procedure
 
Is Days the argument in the ValidateWorkingDays procedure? If so, Me is not
needed as it should be used in the call

With Days
.SetFocus
.SelStart = 0
.SelLength = Len(Days.Text)
End With

and

ValidateWorkingDays(Me.txtApril.Text, cancel = False)


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Jake" wrote in message
...
I have a form that allows users to enter working days for a month in 12

text
boxes and I call a ValidateWorkingDays procedure in the BeforeUpdate event
for each monthly text box. If user needs to re-enter value I have this

code
in my ValidateWorkingDays procedu
With Me.Days
.SetFocus
.SelStart = 0
.SelLength = Len(Days)
End With
Days is a string in the ValidateWorkingDays procedure and I pass the
textbox control text to the procedure e.g. Call
ValidateWorkingDays(txtApril.Text, cancel = False)

I get invalid use of Me keyword in a runtime error.
I don't want to repeat code in each month. I'm new at this thanks for any
help.
Jake




Jake

Select control on a form after calling procedure
 
I see what you mean. But I get a runtime error now:
"With object must be user-defined type, object or variant"
Is this because I declared Days as a string in my procedu
Public Sub ValidateWorkingDays(Days As String, Cancel As Boolean)
thanks!
"Bob Phillips" wrote:

Is Days the argument in the ValidateWorkingDays procedure? If so, Me is not
needed as it should be used in the call

With Days
.SetFocus
.SelStart = 0
.SelLength = Len(Days.Text)
End With

and

ValidateWorkingDays(Me.txtApril.Text, cancel = False)


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Jake" wrote in message
...
I have a form that allows users to enter working days for a month in 12

text
boxes and I call a ValidateWorkingDays procedure in the BeforeUpdate event
for each monthly text box. If user needs to re-enter value I have this

code
in my ValidateWorkingDays procedu
With Me.Days
.SetFocus
.SelStart = 0
.SelLength = Len(Days)
End With
Days is a string in the ValidateWorkingDays procedure and I pass the
textbox control text to the procedure e.g. Call
ValidateWorkingDays(txtApril.Text, cancel = False)

I get invalid use of Me keyword in a runtime error.
I don't want to repeat code in each month. I'm new at this thanks for any
help.
Jake





Bob Phillips

Select control on a form after calling procedure
 
Yes that would give an error it should be

Public Sub ValidateWorkingDays(Days As Object, Cancel As Boolean)

or

Public Sub ValidateWorkingDays(Days As MSForms.TextBox, Cancel As Boolean)



--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Jake" wrote in message
...
I see what you mean. But I get a runtime error now:
"With object must be user-defined type, object or variant"
Is this because I declared Days as a string in my procedu
Public Sub ValidateWorkingDays(Days As String, Cancel As Boolean)
thanks!
"Bob Phillips" wrote:

Is Days the argument in the ValidateWorkingDays procedure? If so, Me is

not
needed as it should be used in the call

With Days
.SetFocus
.SelStart = 0
.SelLength = Len(Days.Text)
End With

and

ValidateWorkingDays(Me.txtApril.Text, cancel = False)


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Jake" wrote in message
...
I have a form that allows users to enter working days for a month in

12
text
boxes and I call a ValidateWorkingDays procedure in the BeforeUpdate

event
for each monthly text box. If user needs to re-enter value I have

this
code
in my ValidateWorkingDays procedu
With Me.Days
.SetFocus
.SelStart = 0
.SelLength = Len(Days)
End With
Days is a string in the ValidateWorkingDays procedure and I pass the
textbox control text to the procedure e.g. Call
ValidateWorkingDays(txtApril.Text, cancel = False)

I get invalid use of Me keyword in a runtime error.
I don't want to repeat code in each month. I'm new at this thanks for

any
help.
Jake








All times are GMT +1. The time now is 08:01 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com