ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Reference Controls to chang attributes through Array (https://www.excelbanter.com/excel-programming/434684-reference-controls-chang-attributes-through-array.html)

DanB

Reference Controls to chang attributes through Array
 
I have 3 CommandButton controls (cmd_1, cmd_2, ... cmd_10)

I want to be able to cycle through them to change their attributes using
data stored in an array cb(10). I know I'm missing something simple, but
integral. Can anyone help?

I've tried:

Dim myObj as Object
Dim x as Interger

For x = 1 to 10

Set myObj = "cmd_" & x
With myObj
.Visible = cb(x)
End With

Next x

Dave Peterson

Reference Controls to chang attributes through Array
 
On a worksheet?

dim x as long 'watch your spelling of integer
with activesheet
for x = 1 to 10
.oleobjects("cmd_" & x).visible = cb(x)
next x
end with

cb() is an array of true/falses, right.

Ps. I'd use:
dim CB(1 to 10) as boolean

dim CB(10) as boolean
will create an array of 11 elements--0 to 10.
(unless you're using an "Option Base" statement.)

DanB wrote:

I have 3 CommandButton controls (cmd_1, cmd_2, ... cmd_10)

I want to be able to cycle through them to change their attributes using
data stored in an array cb(10). I know I'm missing something simple, but
integral. Can anyone help?

I've tried:

Dim myObj as Object
Dim x as Interger

For x = 1 to 10

Set myObj = "cmd_" & x
With myObj
.Visible = cb(x)
End With

Next x


--

Dave Peterson

DanB

Reference Controls to chang attributes through Array
 
Sorry Dave,

I meant on a UserForm.

I already have cb() as Boolean in Public declarations.

Any thoughts?

Dan

"Dave Peterson" wrote:

On a worksheet?

dim x as long 'watch your spelling of integer
with activesheet
for x = 1 to 10
.oleobjects("cmd_" & x).visible = cb(x)
next x
end with

cb() is an array of true/falses, right.

Ps. I'd use:
dim CB(1 to 10) as boolean

dim CB(10) as boolean
will create an array of 11 elements--0 to 10.
(unless you're using an "Option Base" statement.)

DanB wrote:

I have 3 CommandButton controls (cmd_1, cmd_2, ... cmd_10)

I want to be able to cycle through them to change their attributes using
data stored in an array cb(10). I know I'm missing something simple, but
integral. Can anyone help?

I've tried:

Dim myObj as Object
Dim x as Interger

For x = 1 to 10

Set myObj = "cmd_" & x
With myObj
.Visible = cb(x)
End With

Next x


--

Dave Peterson


Dave Peterson

Reference Controls to chang attributes through Array
 
Dim x As Long 'watch your spelling of integer
For x = lbound(cb) to ubound(cb) 'better than hardcoding the numbers
Me.Controls("cmd_" & x).Visible = cb(x)
Next x


And when I used lbound() and ubound(), you'll have to use: dim cb(1 to 10), not
just cb(10).




DanB wrote:

Sorry Dave,

I meant on a UserForm.

I already have cb() as Boolean in Public declarations.

Any thoughts?

Dan

"Dave Peterson" wrote:

On a worksheet?

dim x as long 'watch your spelling of integer
with activesheet
for x = 1 to 10
.oleobjects("cmd_" & x).visible = cb(x)
next x
end with

cb() is an array of true/falses, right.

Ps. I'd use:
dim CB(1 to 10) as boolean

dim CB(10) as boolean
will create an array of 11 elements--0 to 10.
(unless you're using an "Option Base" statement.)

DanB wrote:

I have 3 CommandButton controls (cmd_1, cmd_2, ... cmd_10)

I want to be able to cycle through them to change their attributes using
data stored in an array cb(10). I know I'm missing something simple, but
integral. Can anyone help?

I've tried:

Dim myObj as Object
Dim x as Interger

For x = 1 to 10

Set myObj = "cmd_" & x
With myObj
.Visible = cb(x)
End With

Next x


--

Dave Peterson


--

Dave Peterson

DanB

Reference Controls to chang attributes through Array
 
Dave,

Thanks so much. I believe that this does it.

Much appreciated,

Dan

"Dave Peterson" wrote:

Dim x As Long 'watch your spelling of integer
For x = lbound(cb) to ubound(cb) 'better than hardcoding the numbers
Me.Controls("cmd_" & x).Visible = cb(x)
Next x


And when I used lbound() and ubound(), you'll have to use: dim cb(1 to 10), not
just cb(10).




DanB wrote:

Sorry Dave,

I meant on a UserForm.

I already have cb() as Boolean in Public declarations.

Any thoughts?

Dan

"Dave Peterson" wrote:

On a worksheet?

dim x as long 'watch your spelling of integer
with activesheet
for x = 1 to 10
.oleobjects("cmd_" & x).visible = cb(x)
next x
end with

cb() is an array of true/falses, right.

Ps. I'd use:
dim CB(1 to 10) as boolean

dim CB(10) as boolean
will create an array of 11 elements--0 to 10.
(unless you're using an "Option Base" statement.)

DanB wrote:

I have 3 CommandButton controls (cmd_1, cmd_2, ... cmd_10)

I want to be able to cycle through them to change their attributes using
data stored in an array cb(10). I know I'm missing something simple, but
integral. Can anyone help?

I've tried:

Dim myObj as Object
Dim x as Interger

For x = 1 to 10

Set myObj = "cmd_" & x
With myObj
.Visible = cb(x)
End With

Next x

--

Dave Peterson


--

Dave Peterson



All times are GMT +1. The time now is 08:02 AM.

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