View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Christian[_5_] Christian[_5_] is offline
external usenet poster
 
Posts: 6
Default Execution speed for UDF

Hi NG,

I'm not a very advanced user of vba stuff.

I have a string that contains several field values. I made below UDF in the
VBE. The function allows me to enter 3 arguments to the function; cell with
the string to be examined, the delimter eg. "," or ";" and finally the field
number to output.

My function looks like this

Public Function SplitString(myCell As String, myDelimiter As String, myField
As Long) As Variant

Dim myArr As Variant
Dim myField2 As Long
myField2 = myField - 1 'vba assign 0 to the first field, more natural to
use 1 to represent the first field

myArr = VBA.Split(myCell, myDelimiter) 'adding inputcell content to
array and using split function to seperate each entry
SplitString = myArr(myField2) 'selecting the field to output

End Function

The function runs fairly slowly, can it be improve somehow?
Also in case there is no output the function currently return '0' in the
cell. Can the function be modified so that it returns nothing in case there
is nothing in the field?

Comments and suggestions are warmly welcome
- Chr