Looping to create Variable Names?

J

Jill E

Hi,

I have a whole wack of variables to name and populate and I thought it would
be appropriate to use a loop to do so. Unfortunately I'm having problems
getting it to work.

Specifically I am trying to create several variables called "VTitleBold"
with a number assigned to it which indicates the column, ie TitleBold1,
TitleBold2, TitleBold3.

So I did a count of the number of columns in question (counter) and then:

For NumberOfColumns = 1 To counter
TitleBold = "vcTitleBold" & NumberOfColumns
vcTitleBold = ActiveCell.Font.Bold
....
Next NumberOfColumns

The second line did what I wanted but was instantly replaced by the next
line.

Please help!

Thanks,

Jill E
 
A

Auric__

Hi,

I have a whole wack of variables to name and populate and I thought it would
be appropriate to use a loop to do so. Unfortunately I'm having problems
getting it to work.

Specifically I am trying to create several variables called "VTitleBold"
with a number assigned to it which indicates the column, ie TitleBold1,
TitleBold2, TitleBold3.

So I did a count of the number of columns in question (counter) and then:

For NumberOfColumns = 1 To counter
TitleBold = "vcTitleBold" & NumberOfColumns
vcTitleBold = ActiveCell.Font.Bold
...
Next NumberOfColumns

The second line did what I wanted but was instantly replaced by the next
line.

Make it an array:
Dim VTitleBold(1 to counter) as String
For n = 1 To counter
VTitleBold(n) = ActiveCell.Font.Bold
[...]
Next
(Might have to change Dim -> ReDim.)
 
J

Jill E

Thankyou! It worked!

Jill E

Auric__ said:
Hi,

I have a whole wack of variables to name and populate and I thought it would
be appropriate to use a loop to do so. Unfortunately I'm having problems
getting it to work.

Specifically I am trying to create several variables called "VTitleBold"
with a number assigned to it which indicates the column, ie TitleBold1,
TitleBold2, TitleBold3.

So I did a count of the number of columns in question (counter) and then:

For NumberOfColumns = 1 To counter
TitleBold = "vcTitleBold" & NumberOfColumns
vcTitleBold = ActiveCell.Font.Bold
...
Next NumberOfColumns

The second line did what I wanted but was instantly replaced by the next
line.

Make it an array:
Dim VTitleBold(1 to counter) as String
For n = 1 To counter
VTitleBold(n) = ActiveCell.Font.Bold
[...]
Next
(Might have to change Dim -> ReDim.)
 
A

Auric__

Make it an array:
Dim VTitleBold(1 to counter) as String
For n = 1 To counter
VTitleBold(n) = ActiveCell.Font.Bold
[...]
Next
(Might have to change Dim -> ReDim.)

Correction: if VTitleBold just holds ActiveCell.Font.Bold (a boolean
value) then dim it as boolean, not string.
 
Top