ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   arrays (https://www.excelbanter.com/excel-programming/282104-arrays.html)

Dave B[_3_]

arrays
 
Hi,

I want to work with an array which contains state names (e.g. Dim
strStateNames(49) as String). Is there an easy way to fill the array
without getting the data somewhere else? For instance:

strStateNames(1 To 50) = "Alabama", "Alaska", "Arizona", "Arkansas", etc.

instead of:

strStateNames(0) = "Alabama"
strStateNames(1) = "Alaska"
strStateNames(2) = "Arizona"
etc. (ugh!)

I know I can put the names in a worksheet and then:

For i = 0 To 49
strStateNames(i) = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Next i

But is there an easy way to do this without going somewhere else for the
data? Thanks.

Dave



Tim Riley

arrays
 
Dim strSplit() as String
Dim strStates as String: states = "Alabama,Alaska,Arizona,Arkansas,etc"

strSplit = Split(strStates, Chr(44), -1, vbBinaryCompare)


Tim Riley




"Dave B" wrote in message
...
Hi,

I want to work with an array which contains state names (e.g. Dim
strStateNames(49) as String). Is there an easy way to fill the array
without getting the data somewhere else? For instance:

strStateNames(1 To 50) = "Alabama", "Alaska", "Arizona", "Arkansas", etc.

instead of:

strStateNames(0) = "Alabama"
strStateNames(1) = "Alaska"
strStateNames(2) = "Arizona"
etc. (ugh!)

I know I can put the names in a worksheet and then:

For i = 0 To 49
strStateNames(i) = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Next i

But is there an easy way to do this without going somewhere else for the
data? Thanks.

Dave





Dave Peterson[_3_]

arrays
 
Another way:

dim strStateNames as Variant
strStateNames = array("alabama", "alaska", "West Virginia")

or even:

Dim strStateNames As Variant
strStateNames _
= Application.Transpose(Worksheets("sheet1").Range(" a1:a50").Value)

But the bottom one is a base 1 array (1 to 50)


Dave B wrote:

Hi,

I want to work with an array which contains state names (e.g. Dim
strStateNames(49) as String). Is there an easy way to fill the array
without getting the data somewhere else? For instance:

strStateNames(1 To 50) = "Alabama", "Alaska", "Arizona", "Arkansas", etc.

instead of:

strStateNames(0) = "Alabama"
strStateNames(1) = "Alaska"
strStateNames(2) = "Arizona"
etc. (ugh!)

I know I can put the names in a worksheet and then:

For i = 0 To 49
strStateNames(i) = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Next i

But is there an easy way to do this without going somewhere else for the
data? Thanks.

Dave


--

Dave Peterson



All times are GMT +1. The time now is 04:15 PM.

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