help! code for a cell

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

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?!!
 
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.
 
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
 
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top