View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Harald Staff Harald Staff is offline
external usenet poster
 
Posts: 1,327
Default Function Vs. Sub

Hi

No differences when it comes to performance as far as I know.

Functions perform "calculations" and return "results". You can use their non-macro power
in Excel cells or call them from Subs or other functions. Subs perform "actions", return
nothing, and call functions when needed.

However, you might want a Sub to go check on something and return a result, or simply
report its own success, for decisions. If so rewrite it to a function, like the function
F1 he

Sub Test()
If F1 < 0 Then
Call S2
Else
Call S3
End If
End Sub

Function F1() As Long
Range("C14").Select
On Error Resume Next
F1 = Val(ActiveCell.Formula)
End Function

Sub S2()
MsgBox "Values man"
End Sub

Sub S3()
MsgBox "Nothin"
End Sub
--
HTH. Best wishes Harald
Followup to newsgroup only please.

"mars" wrote in message
...
Hello,

As a novice, I would like to know if someone can tell me
what the guidelines/best programming practices are on when
one should use a "Function" versus a "Subroutine".

It appears to me that both structures are completely
interchangeable. Is there any speed, memory overhead, or
other performance issues?

Perhaps someone can offer a short discussion, or point me
to web site? Thanks for the help in advance.