2012-03-13 7 views
2

VBAでラベルにプログラムでアクセスすることは可能ですか?私は目に見えるMS VBAにプログラムでアクセスしてラベルのプロパティを設定する

for a_counter = 1 to 20 
Me.Label(a_counter).Visible = True 
next a_counter 

に「Label20」に「Label1を」という名前のすべてのラベルを設定することになる、以下に示すように、ループのために使用するラベルの数を作成したいのですが、上にできるだけ何ですか?

答えて

4

これらのラベルコントロール "Label1"〜 "Label20"のそれぞれを、フォームのControlsコレクションの名前で参照できます。

For a_counter = 1 To 20 
    Me.Controls("Label" & a_counter).Visible = True 
Next a_counter 
+0

はとても感謝しています – icweb

1

ラベルはアクセスフォームの特定の種類のコントロールです。

function listLabels() 
dim m_ctl as control 

for each m_ctl in screen.activeForm.controls 
    if m_ctl.type = .... 'please check the control types available! 
     debug.print m_ctl.name 
    end if 
next m_ctl 

end function 

このようなコードを書き留めることができます。私はコントロールのプロパティ(.type、.name)についてはわかりませんが、ヘルプで簡単に見つけることができます。 「コントロール」オブジェクトを探します。

+2

'ctl.ControlType = acLabel Then'、ないctl.Type – Fionnuala

+0

もしおかげで...私はいくつかの練習をしないのですね! –

+0

これらのフィールドのタグを設定し、コントロールタイプの代わりにforループ( 'm_ctl.tag')のタグを検索することもできます。 – Christian

関連する問題