98.7% Of all customers recommend us, we're so confident about our results we publish all reviews and stats
View Live Stats View ReviewsForum home » Delegate support and help forum » Microsoft Excel VBA Training and help » Excel VBA: Call and Run
Excel VBA: Call and Run
Resolved · Medium Priority · Version 2003
Simon has attended:
Excel VBA Intro Intermediate course
Excel VBA Advanced course
Excel VBA: Call and Run
Guys,
What is the difference between a CALL statement and a RUN method?
I have been happily calling sub-procedures since my course (okay, I've done it once or twice), however I recently tried to do this in an inherited spreadsheet and I got an error message (which I can't remember). I noticed that a couple of other sub-procedures that were there already were 'run'.
With a bit of experementation I have established that both versions of the syntax below produce the same result (as far as I can see):
[...] Call SelectOpeningIndicator
Call ToggleToolbars
Call showbars
[...]
OR
[...] Run "SelectOpeningIndicator"
Run "ToggleToolbars"
Run "showbars"
[...]
so what's the difference?
Cheers,
S!
RE: Excel VBA: Call and Run
Hi Simon. Call and Run may seem to be interchangeable, but Calling a procedure from within the code is "tidier" (in the memory usage sense) than Running it, and I suspect this has caused the errors you encountered. The "call" command invokes a named procedure (and you would normally "call" a procedure from another procedure in a program, rather than "run" it) whereas Run invokes a procedure (and probably resets all your variable declarations) which happens to be named. "Run" is a command which you'll recognise even from the version of BASIC on a ZX Spectrum, and earlier - "Execute" is used on different platforms for similar purposes - whereas "Call" is the programmatic, procedural equivalent and using the two commands interchangeably has processing, variable declaration, ramifications. In a nutshell, the difference is one of arcane programming requirements and when coding I'd "Call" my procedures!
Hope this helps,
Anthony
RE: Excel VBA: Call and Run
Anthony,
Thanks, this is useful to know. (I wrote my first code on a ZX81, although I have been out of a coding environment since the end of the 1980s).
I suspect that the 'Run' commands that I have inherited are some kind of legacy programming and I am replacing 'Runs' with 'Calls' as I come across them. This has gone okay... so far!
Cheers,
S!
Training information:
Welcome. Please choose your application (eg. Excel) and then post your question. Our Microsoft Qualified trainers will then respond within 24 hours (working days). Frequently Asked Questions
Any suggestions, questions or comments? Please post in the Improve the forum thread. |
Excel tip:Screen Splitters in ExcelScreen splitter icons can be set from the ribbon bar, or dragged from the scroll bars. The icon just above the up arrow on the right scroll bar controls the horizontal splitter; the icon to the right of the right arrow on the bottom scroll bar controls the vertical splitter. |