ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Change Event duplicating action (https://www.excelbanter.com/excel-programming/403245-change-event-duplicating-action.html)

LuisE

Change Event duplicating action
 
I have a textbox that is getting a range address.
If the total of columns or row is higher than 5 I want to show an MsgBox and
clear its contents. It works fine but when the value becomes "" the change
event is obviously triggered but in this case since tha value is nothing it
still validates the number of columns/ros as higher than 5 and prompts the
message again

Private Sub TextBox1_Change()

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

I tried the afterupdate event but it doesn't work.

Thanks in advance.

Darren Hill

Change Event duplicating action
 
Does this work:

Private Sub TextBox1_Change()
if TextBox1.Value = "" then exit sub

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

LuisE wrote:
I have a textbox that is getting a range address.
If the total of columns or row is higher than 5 I want to show an MsgBox and
clear its contents. It works fine but when the value becomes "" the change
event is obviously triggered but in this case since tha value is nothing it
still validates the number of columns/ros as higher than 5 and prompts the
message again

Private Sub TextBox1_Change()

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

I tried the afterupdate event but it doesn't work.

Thanks in advance.


LuisE

Change Event duplicating action
 
Darren, thanks for the prompt response
I found another approach that works turning the Application.EnableEvents =
False




Private Sub TextBox1_Change()
On Error GoTo XIT
Application.EnableEvents = False

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If

XIT:
Application.EnableEvents = True

End Sub

LuisE wrote:
I have a textbox that is getting a range address.
If the total of columns or row is higher than 5 I want to show an MsgBox and
clear its contents. It works fine but when the value becomes "" the change
event is obviously triggered but in this case since tha value is nothing it
still validates the number of columns/ros as higher than 5 and prompts the
message again

Private Sub TextBox1_Change()

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

I tried the afterupdate event but it doesn't work.

Thanks in advance.



LuisE

Change Event duplicating action
 
After all it worked better than the other approach because I had references
to other objects. Thank you

"Darren Hill" wrote:

Does this work:

Private Sub TextBox1_Change()
if TextBox1.Value = "" then exit sub

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

LuisE wrote:
I have a textbox that is getting a range address.
If the total of columns or row is higher than 5 I want to show an MsgBox and
clear its contents. It works fine but when the value becomes "" the change
event is obviously triggered but in this case since tha value is nothing it
still validates the number of columns/ros as higher than 5 and prompts the
message again

Private Sub TextBox1_Change()

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

I tried the afterupdate event but it doesn't work.

Thanks in advance.



Darren Hill

Change Event duplicating action
 
Glad to help :)

Darren

LuisE wrote:
After all it worked better than the other approach because I had references
to other objects. Thank you

"Darren Hill" wrote:

Does this work:

Private Sub TextBox1_Change()
if TextBox1.Value = "" then exit sub

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

LuisE wrote:
I have a textbox that is getting a range address.
If the total of columns or row is higher than 5 I want to show an MsgBox and
clear its contents. It works fine but when the value becomes "" the change
event is obviously triggered but in this case since tha value is nothing it
still validates the number of columns/ros as higher than 5 and prompts the
message again

Private Sub TextBox1_Change()

If Range(TextBox1.Value).Columns.Count 5 Or
Range(TextBox1.Value).Rows.Count 5 Then

MsgBox "Limit of 5 columns and rows"
TextBox1.Value = ""

Else
Call AnotherMacro

End If
End Sub

I tried the afterupdate event but it doesn't work.

Thanks in advance.



All times are GMT +1. The time now is 11:38 AM.

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