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
if the functions in the freely downloadable file at
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

Split was added in xl2k.

Alan said:
I use Excel2002, so I don't have the Split function. But I suspect that
if the functions in the freely downloadable file at
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:
Split was added in xl2k.

Oh good! So I tested it.

If the functions in the freely downloadable file at
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top