Prompt to enter a macro name?

  • Thread starter Thread starter andreashermle
  • Start date Start date
A

andreashermle

Dear Experts:

Whenever I run this macro a dialog field pops up asking me to enter a
macro name. Why is this so?


Sub Worksheet_Change(ByVal Target As Excel.Range)

If Len(Range("E4")) < 32 And Range("E4") <> "" Then
ActiveSheet.Name = Range("E4").Value
End If

End Sub
 
The code you posted is not a macro (macros are Sub's that do not have any
arguments)... what you posted is know as event code and is meant to be run
automatically by Excel when the triggering event occurs (in the case of your
code, when a value changes on the worksheet whose worksheet code window it
is in. Exactly what were you expecting this code to do for you?
 
Just a correction (to a fast finger response???)...

Subroutines can have arguments. But functions return something--and subs don't.
 
I didn't mean to imply subroutines cannot have arguments... what I said
macros are subroutines that do not any arguments; in other words,
subroutines that have arguments cannot be a macro... they are simply
subroutines with arguments. I'm a little unclear why you added the
distinction between functions and subroutines... the OP didn't mention
anything about functions... he posted an event procedure and asked why it
didn't show up in the macro's dialog box.
 
I guess there's a difference in the way we define macros.

I would include all functions and all subroutines in the macro category--whether
or not the function or subroutine has arguments passed to it. And I'd even
those old 123 macros and xlm macros as macros, too.

If you're trying to make a distinction between subs/procedures that show up in
the tools|macro|macros dialog, then even though subs with arguments don't show
up, they still are available.

For instance, I had this in a General module:

Option Explicit
Sub testme(myStr As String)
MsgBox myStr
End Sub

And I hit alt-F8 and typed this:

'testme "hi"'

And I saw a msgbox showing me "hi".

=======
The reason I mentioned functions is that (in my opinion), the biggest (only???)
difference between functions and subroutines is that one returns something--a
value, an object, or something.

And functions can be called from the tools|macro|macros dialog, too. It just
takes some typing.
 
Just a typo correction...

And I'd even **INCLUDE** those old 123 macros and xlm macros as macros, too.
 
For instance, I had this in a General module:
Option Explicit
Sub testme(myStr As String)
MsgBox myStr
End Sub

And I hit alt-F8 and typed this:

'testme "hi"'
.....
.....
And functions can be called from the tools|macro|macros dialog, too. It
just
takes some typing.

Hmm, I wasn't aware you could do that.

Okay, then, so there goes "my distinction" out the window as to what a macro
is.<g>
 
You do not "run" that code.

It is sheet event code which runs when you change the value of E4

Make sure the code is stored in the sheet module.

Right-click on sheet tab and "View Code"

Copy/paste into that module.

Alt + q to return to Excel.

Enter a word in E4

Your sheet name will change to that word.


Gord Dibben MS Excel MVP
 
I think the definition of macro is pretty nebulous.

For me, it's what I want it to be when I'm using the term <vbg>.


Rick said:
For instance, I had this in a General module:

Option Explicit
Sub testme(myStr As String)
MsgBox myStr
End Sub

And I hit alt-F8 and typed this:

'testme "hi"'
.....
.....
And functions can be called from the tools|macro|macros dialog, too. It
just
takes some typing.

Hmm, I wasn't aware you could do that.

Okay, then, so there goes "my distinction" out the window as to what a macro
is.<g>
 
I think the definition of macro is pretty nebulous.  

For me, it's what I want it to be when I'm using the term <vbg>.








--

Dave Peterson- Hide quoted text -

- Show quoted text -

Dear All,

ok, thank you so much to all of you. I got the message, it is an event
code!

Great help of all of you.

Regards, Andreas
 
Back
Top