ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Passing result of multiple split function results to 1 Array (https://www.excelbanter.com/excel-programming/404570-passing-result-multiple-split-function-results-1-array.html)

ExcelMonkey

Passing result of multiple split function results to 1 Array
 
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),S plit(var5),Split(var6),Split(var7),Split(var8))

Thanks

EM

Dave Peterson

Passing result of multiple split function results to 1 Array
 
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, ",")



ExcelMonkey wrote:

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),S plit(var5),Split(var6),Split(var7),Split(var8))

Thanks

EM


--

Dave Peterson

Dana DeLouis

Passing result of multiple split function results to 1 Array
 
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

--
HTH :)
Dana DeLouis
Windows XP & Excel 2007


"ExcelMonkey" wrote in message
...
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),S plit(var5),Split(var6),Split(var7),Split(var8))

Thanks

EM




Alan Beban[_2_]

Passing result of multiple split function results to 1 Array
 
ExcelMonkey wrote:
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),S plit(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

Dave Peterson

Passing result of multiple split function results to 1 Array
 
Split was added in xl2k.

Alan Beban wrote:

ExcelMonkey wrote:
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),S plit(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


--

Dave Peterson

Alan Beban[_2_]

Passing result of multiple split function results to 1 Array
 
Dave Peterson wrote:
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


All times are GMT +1. The time now is 02:10 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com