ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   help! code for a cell (https://www.excelbanter.com/excel-programming/311202-help-code-cell.html)

No Name

help! code for a cell
 
hello;
I have code to bring up a message AFTER a user has entered
in data to a specific cell.

i don't know how to make the code ONLY come after the user
enters the data. right now i have it in Workbook_Open so
it just occurs right when u open the workbook. how do i do
this?!!

Bob Phillips[_6_]

help! code for a cell
 
This should go in the worksheet change event, something like,

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("A1:H10")) Is Nothing Then
With Target
'do something
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

'This is worksheet event code, which means that it needs to be
'placed in the appropriate worksheet code module, not a standard
'code module. To do this, right-click on the sheet tab, select
'the View Code option from the menu, and paste the code in.

--

HTH

RP

wrote in message
...
hello;
I have code to bring up a message AFTER a user has entered
in data to a specific cell.

i don't know how to make the code ONLY come after the user
enters the data. right now i have it in Workbook_Open so
it just occurs right when u open the workbook. how do i do
this?!!




SARAH

help! code for a cell
 
hi,

I tried using the code you gave: (i'm just checking if the
user entered a 9 digit numeric value). but every time i
enter a value. it always goes to the last condition "Must
be 9 digits" even when i enter in something correct!
what's wrong here?! help! :)

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("Y13")) Is Nothing
Then
With Target
'do something
If Len(Y13) = 9 Then
If IsNumeric(Y13) Then
Y13.NumberFormat = "###-###-###"
Else
MsgBox "Must be a number"
End If
Else
MsgBox "Must be 9 digits"
End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub





-----Original Message-----
This should go in the worksheet change event, something

like,

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("A1:H10")) Is

Nothing Then
With Target
'do something
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

'This is worksheet event code, which means that it needs

to be
'placed in the appropriate worksheet code module, not a

standard
'code module. To do this, right-click on the sheet tab,

select
'the View Code option from the menu, and paste the code

in.

--

HTH

RP

wrote in message
...
hello;
I have code to bring up a message AFTER a user has

entered
in data to a specific cell.

i don't know how to make the code ONLY come after the

user
enters the data. right now i have it in Workbook_Open so
it just occurs right when u open the workbook. how do i

do
this?!!



.


Bob Phillips[_6_]

help! code for a cell
 
Hi Sarah,

The way you are using Y13, VBA is assuming it is a variable. Try this


Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("Y13")) Is Nothing Then
With Target
'do something
If Len(Target.Value) = 9 Then
If IsNumeric(Target.Value) Then
Target.NumberFormat = "###-###-###"
Else
MsgBox "Must be a number"
End If
Else
MsgBox "Must be 9 digits"
End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

--

HTH

RP

"sarah" wrote in message
...
hi,

I tried using the code you gave: (i'm just checking if the
user entered a 9 digit numeric value). but every time i
enter a value. it always goes to the last condition "Must
be 9 digits" even when i enter in something correct!
what's wrong here?! help! :)

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("Y13")) Is Nothing
Then
With Target
'do something
If Len(Y13) = 9 Then
If IsNumeric(Y13) Then
Y13.NumberFormat = "###-###-###"
Else
MsgBox "Must be a number"
End If
Else
MsgBox "Must be 9 digits"
End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub





-----Original Message-----
This should go in the worksheet change event, something

like,

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("A1:H10")) Is

Nothing Then
With Target
'do something
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

'This is worksheet event code, which means that it needs

to be
'placed in the appropriate worksheet code module, not a

standard
'code module. To do this, right-click on the sheet tab,

select
'the View Code option from the menu, and paste the code

in.

--

HTH

RP

wrote in message
...
hello;
I have code to bring up a message AFTER a user has

entered
in data to a specific cell.

i don't know how to make the code ONLY come after the

user
enters the data. right now i have it in Workbook_Open so
it just occurs right when u open the workbook. how do i

do
this?!!



.





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

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