VBA如何用變數表示控制元件名

時間 2021-07-08 20:34:05

1樓:

如果該控制元件位於userform窗體中,那麼我們可以用controls集合來表示指定的控制元件,

例如,userform1中有三個控制元件,label1,label2,textbox1

那麼,我們可以這樣表示:

a = 1 : b = 2

userform1.controls("label" & a).caption 表示label1.caption

userform1.controls("label" & b).caption 表示label2.caption

userform1.controls("textbox" & a).text 表示textbox1.text

如果你的控制元件位於工作表中,那麼我們可以使用oleobjects集合來表示指定的控制元件,

例如,sheet1工作表中有三個控制元件,label1,label2,commandbutton1

a = 1 : b = 2

那麼我們可以這樣表示,注意object不可省略:

sheet1.oleobjects("label" & a).object.caption 表示label1.caption

sheet1.oleobjects("label" & b).object.caption 表示label2.caption

sheet1.oleobjects("commandbutton" & a).object.caption 表示commandbutton1.caption

2樓:匿名使用者

private sub userform_initialize()dim i as byte

sheet1.range("c9").selectfor i = 1 to 4

set 單選按鈕集合(i).obuttonbilltype = controls("optionbutton" & i)

next

me.left = range("工具箱位置")(3)me.top = range("工具箱位置")(4)end sub

重點就是controls("optionbutton" & i)名字必須使用相同的字首

3樓:

如果是userform裡的控制元件 可用 me.controls("label"& x).caption="***" 來實現

me 可用userform1 代替

如果是activex控制元件我就沒轍了,

vb宣告控制項名,vb中用變數表示控制項名

dim q 這裡把q定義為了變數。而非控制項型別。同時,picturebox 控制項的 name 是唯讀屬性,不能通過 進行更改的!如果想實現控制項動態控制的目的,你可以通過建立動態的控制項陣列來實現。比如 開啟窗體的設計檢視,選中窗體內的 picture1 控制項,控制項屬性中給 index 賦值...

雙色球彩票用變數表示的演算法或公式

1,中有錯誤 for x j 1 to 31 for x k 1 to 31 你的意思就是算位置,既然是組合,肯定就用組合公式推導了。反推 為少打點字,以6選3為例 k為6公式c m,n 為m選n組合 f x,y,z c 6,3 c k x 3 c k y 2 c k z 1 正推就自己推吧!寫 求...

VBA中RANGE如何引用變數,excel VBA中 Range函式將列作為變數怎麼表示?

庹甜恬 一項技能的學習過程中,最難的有兩個時間段,沒入門前不知道怎麼學,入門後不知道怎麼快速提高。反而當技術提高到一個層次後,能融會貫通,再看什麼都不那麼難了。我們每天講解一個vba的一個知識點,我們一起學習,共同進步。我們都知道range物件是excel應用程式中最常用的物件,一個range物件代...