Puppyのパソコンさぽーと

Puppyのパソコンさぽーと

2009年05月25日
XML
カテゴリ: カテゴリ未分類
VB(VisualBASIC)でプログラムを組んだ方はご存知かと思いますが、VBではコントロールを配列として定義することができます。
例えば,多数のLabelコントロールを,

Label(0)・Label(1)・Label(2)・・・・Label(99)

と処理の中で配列として扱うことができます
仮にLabel(0)からLabel(99)まで数字の1に変更する場合は

Label(0).caption = 1
Label(1).caption = 1
Label(2).caption = 1
Label(3).caption = 1
Label(4).caption = 1
Label(99).caption = 1

と入力していました。
しかし、VBでは下記のようにコントロール配列を使用し簡略化できます。

for i = 0 to 99
Label(i).caption = 1
Next

と、なります。
しかし、ExcelやACCESSのVBAではコントロール配列は 使用できません
しかし、ある方法を使用すると完璧には行きませんが、コントロール配列のようなプログラムを作成することができます。
作成方法ですが、仮に
Label1・Label2・Label3・・・・Label99
があるとします。
このとき、

for i = 0 to 99
"Label" & i.caption = 1
Next

とプログラムを書いてもエラーが出ます。
しかし上記のプログラムを下記のように書き換えるとコントロールは列のように処理ができます。

for i = 0 to 99
Me.Controls("Label" & i ).caption = 1
Next

この"Controls関数"はループの数字と文字列「Label」と結合しコントロールを制御し処理する関数です。
上記ではラベルのみを制御しましたが、テキストボックスやコンボボックスといったコントロールも可能です。
なかx2使用する機会は少ないですが使用してみるとコードがすっきりしました。

以上、覚書をかねた関数解説でした。 おわり



Excel VBA逆引き便利帖





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2009年05月25日 17時15分23秒
コメント(4) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: