ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   how to use object variable to change the property of a (https://www.excelbanter.com/excel-programming/335475-how-use-object-variable-change-property.html)

Fendic[_13_]

how to use object variable to change the property of a
 

Hi all,

I'd like to like to assign a number of Labels into an array, so that
can use loop to change the caption of each Label. I tried testing b
using object variable as follows:

Dim testLabel As Label
testLabel = myLabel

myLabel is a Label i created in a form. but if i run the code, an erro
would show that ''object variable or 'with' block variable is no
defined'', which i don't understand, cos apparently testLabel i
clearly defined.

However, if i change it to be:

Dim testLabel
testLabel = myLabel

it works, but testLabel is actually a string, in stead of a label, thu
i'll not be able to change the caption of it.

can anyone help please. it sounds easy, but i've been struggling fo
days, and just can't get the syntax right. thanks

All the best,
Fendi

--
Fendi
-----------------------------------------------------------------------
Fendic's Profile: http://www.excelforum.com/member.php...fo&userid=2395
View this thread: http://www.excelforum.com/showthread.php?threadid=38998


Tom Ogilvy

how to use object variable to change the property of a
 
Dim ctrl as Control
i = 1
for each ctrl in Userform1.Controls
if typeof ctrl is MSForms.Label then
ctrl.Caption = "Item" & i
i = i + 1
end if
Next

--
Regards,
Tom Ogilvy

"Fendic" wrote in
message ...

Hi all,

I'd like to like to assign a number of Labels into an array, so that i
can use loop to change the caption of each Label. I tried testing by
using object variable as follows:

Dim testLabel As Label
testLabel = myLabel

myLabel is a Label i created in a form. but if i run the code, an error
would show that ''object variable or 'with' block variable is not
defined'', which i don't understand, cos apparently testLabel is
clearly defined.

However, if i change it to be:

Dim testLabel
testLabel = myLabel

it works, but testLabel is actually a string, in stead of a label, thus
i'll not be able to change the caption of it.

can anyone help please. it sounds easy, but i've been struggling for
days, and just can't get the syntax right. thanks

All the best,
Fendic


--
Fendic
------------------------------------------------------------------------
Fendic's Profile:

http://www.excelforum.com/member.php...o&userid=23959
View this thread: http://www.excelforum.com/showthread...hreadid=389989




Fendic[_14_]

how to use object variable to change the property of a
 

The code is working, but there's still one problem that it changes ALL
labels in the user form. What if i only want to change some of them?(10
out of 21) that's why i want to assign them into an array, so that i can
get control only part of them. I appreciate your help, Tom. any idea
about it?


--
Fendic
------------------------------------------------------------------------
Fendic's Profile: http://www.excelforum.com/member.php...o&userid=23959
View this thread: http://www.excelforum.com/showthread...hreadid=389989


Tom Ogilvy

how to use object variable to change the property of a
 
Dim arrLbl(1 to 10) as MsForms.Label
for i = 1 to 10
set arrLbl(i) = Userform1.Controls("Label" & i)
Next

for i = 1 to 10
arrLbl(i).Caption = "Item" & i
Next


as an example. You would have to work out how to identify which labels to
assign to the array. the above is just an example.

--
Regards,
Tom Ogilvy


"Fendic" wrote in
message ...

The code is working, but there's still one problem that it changes ALL
labels in the user form. What if i only want to change some of them?(10
out of 21) that's why i want to assign them into an array, so that i can
get control only part of them. I appreciate your help, Tom. any idea
about it?


--
Fendic
------------------------------------------------------------------------
Fendic's Profile:

http://www.excelforum.com/member.php...o&userid=23959
View this thread: http://www.excelforum.com/showthread...hreadid=389989




Fendic[_15_]

how to use object variable to change the property of a
 

you are a genius. Thanks so much, Tom!!! :) :) :

--
Fendi
-----------------------------------------------------------------------
Fendic's Profile: http://www.excelforum.com/member.php...fo&userid=2395
View this thread: http://www.excelforum.com/showthread.php?threadid=38998



All times are GMT +1. The time now is 04:45 AM.

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