# Passing result of multiple split function results to 1 Array

E

#### ExcelMonkey

I know I can use the split function on a string to return an array.

Array = Split(var2)

I have 8 string variables that I want to apply the split function to and I
then want to send all these elements into 1 Master Array. Do I still have to
create the 8 individual arrays as a middle step or can bypass this using some
sort of aggregation in brackets like:

MasterArray =
(Split(var1),Split(var2),Split(var3),Split(var4),Split(var5),Split(var6),Split(var7),Split(var8))

Thanks

EM

D

#### Dave Peterson

Maybe you could concatenate the 8 strings into one giant string (use the same
delimiter between strings as you use between fields).

Then split that giant string.

dim myBigString as string
dim s1 as string
dim s2 as string
'...
dim s8 as string
dim myArray as variant

myBigString = s1 & "," & s2 & "," & ... & "," & s8
myarray = split(mybigstring, ",")

D

#### Dana DeLouis

Here's one idea. I assume your delimiter is the Space character.

Sub Demo()
Dim m, s1, s2, s3
s1 = "a b c d"
s2 = "e f g h"
s3 = "i j k"
m = Split(Join(Array(s1, s2, s3)))
End Sub

A

#### Alan Beban

ExcelMonkey said:
I know I can use the split function on a string to return an array.

Array = Split(var2)

I have 8 string variables that I want to apply the split function to and I
then want to send all these elements into 1 Master Array. Do I still have to
create the 8 individual arrays as a middle step or can bypass this using some
sort of aggregation in brackets like:

MasterArray =
(Split(var1),Split(var2),Split(var3),Split(var4),Split(var5),Split(var6),Split(var7),Split(var8))

Thanks

EM
I use Excel2002, so I don't have the Split function. But I suspect that
http://home.pacbell.net/beban are available to your workbook, the
following will do what you are seeking:

MasterArray = MakeArray(Split(var1), Split(var2), . . .,Split(var8), 1)

If you want MasterArray to be 0-based rather than 1-based, change the 1
to 0. In either event, MasterArray will be one-dimensional.

Alan Beban

D

#### Dave Peterson

Alan said:
I use Excel2002, so I don't have the Split function. But I suspect that
http://home.pacbell.net/beban are available to your workbook, the
following will do what you are seeking:

MasterArray = MakeArray(Split(var1), Split(var2), . . .,Split(var8), 1)

If you want MasterArray to be 0-based rather than 1-based, change the 1
to 0. In either event, MasterArray will be one-dimensional.

Alan Beban

A

#### Alan Beban

Dave said:

Oh good! So I tested it.

http://home.pacbell.net/beban are available to your workbook

MasterArray = MakeArray(Split(var1), Split(var2), . . .,Split(var8), 1)

If you want MasterArray to be 0-based rather than 1-based, change the 1
to 0. In either event, MasterArray will be one-dimensional.

Alan Beban