Thread: number to name
View Single Post
  #6   Report Post  
Bob Phillips
 
Posts: n/a
Default

Jim,

To add a couple of points to Julie's response that may be helpful in general
understanding.

When code is executing, it always progresses to the next line unless there
is some statement that 'diverts' it, such as an If ... n/l ... statements
.... n/l ... Else ... etc, a loop construct (which sends it back), a function
or Sub call, or a Goto (sorry, bit basic, but I need to spell it out for the
rest :-)). My real point here is that a label does not divert the code, it
just gets passed over and ignored. The label only comes into play should
there be a Goto, and the code executes the Goto. So my code passes over the
label.

The purpose of that code is to ensure that events are always re-enabled,
whether an error is encountered or not. The answer to your second question
is most definitely not, exiting a sub does not re-enable events, you must do
so, or potentially create havoc.

As a side note, as I was writing the second paragraph above, I wondered
about Gosub. My old BBC Basic supported Gosub (in a similar manner to Call
in VBA), but I had never seen anyone use it in VBA. So I looked it up in
help, and VBA does support it. Look it up in help, it's weird, no wonder
no-one ever uses it.

Regards

Bob


"Jim May" wrote in message
news:waPKd.53265$jn.34763@lakeread06...
Thanks for the clarification.
Jim

"JulieD" wrote in message
...
Hi Jim

as Bob has not coded an "end sub" prior to the error handler, the code

under
the error handler runs in all circumstances.

if you turn application.enableevents off you need to turn them back on

as
it
does not happen automatically ever.

Cheers
JulieD


"Jim May" wrote in message
news:xSMKd.53244$jn.37047@lakeread06...
Bob,
Side question..
I notice that
Application.EnableEvents = True << only appears under ws_exit:
and not elsewhere,
This says to me that ONLY if there is an error does the status of
EnableEvents
get "turned-back" to "On", or TRUE;
Is this because EnableEvents whenever set to False, defaults back to

True
on
successful
completion of any/all SUB(s)?
TIA,
Jim May


"Bob Phillips" wrote in message
...
Bart,

Using event code you can do it

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("B2:H10")) Is Nothing Then
With Target
Select Case .Value
Case 1: .Value = "Mark"
Case 2: .Value = "John"
Case 3: .Value = "Bill"
End Select
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.

Extend the list as far as you want.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"bart" wrote in message
...
I want to do my schedule with Excell, and I was wondering if it's
possible
to
type a number and get a name instead... for example if on the 3rd

of
february, Mark is working, and that I associate the number 1 to

Mark.
is
there a way that if I type "1" under the 3rd of february, that

converts
it
directly to Mark?
thanks
Gaetan