Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8505 / 13644 ツリー ←次へ | 前へ→

【32866】フォームの部品の配列 サザエ 05/12/25(日) 17:57 質問[未読]
【32867】Re:フォームの部品の配列 かみちゃん 05/12/25(日) 18:01 発言[未読]
【32869】Re:フォームの部品の配列 サザエ 05/12/25(日) 18:36 お礼[未読]
【32870】Re:フォームの部品の配列 やっちん 05/12/25(日) 18:45 発言[未読]
【32868】Re:フォームの部品の配列 ponpon 05/12/25(日) 18:10 発言[未読]
【32871】Re:フォームの部品の配列 サザエ 05/12/25(日) 18:51 お礼[未読]
【32872】Re:フォームの部品の配列 inoue 05/12/25(日) 22:14 発言[未読]

【32866】フォームの部品の配列
質問  サザエ  - 05/12/25(日) 17:57 -

引用なし
パスワード
   フォーム上のチェックボックスやコマンドボタンの配列は
作れないのでしょうか?
確かVB6ではインデックス番号入れるプロパティがあったような。

【32867】Re:フォームの部品の配列
発言  かみちゃん  - 05/12/25(日) 18:01 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>フォーム上のチェックボックスやコマンドボタンの配列は
>作れないのでしょうか?

チェックボックスやコマンドボタンの配列で、何がしたいのかよくわかりませんが、

For i = 1 To 5
 MsgBox Me.Controls("CheckBox" & i).Value
 MsgBox Me.Controls("CommandButton" & i).Caption
Next

というような感じのことがしたいのでしょうか?
見当違いでしたら、申し訳ありません。

【32868】Re:フォームの部品の配列
発言  ponpon  - 05/12/25(日) 18:10 -

引用なし
パスワード
   こんにちは。

コントロール配列のことでしょうか?
クラスモジュールを使えば、出来ると思います。

参考になれば

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=51;id=FAQ

http://www.moug.net/skillup/opm/opm08-01.htm

【32869】Re:フォームの部品の配列
お礼  サザエ  - 05/12/25(日) 18:36 -

引用なし
パスワード
   ありがとう、すばらしいです。
質問とはちょっと違うのですが、これで代行出来ます。

質問のやつは、例えば

For index = 1 to 4
CheckBox1(index).value = false
Next

という具合です。
VB6ではあったと思ったんですが・・・

【32870】Re:フォームの部品の配列
発言  やっちん  - 05/12/25(日) 18:45 -

引用なし
パスワード
   ▼サザエ さん:
>VB6ではあったと思ったんですが・・・

ponponさんが提示しているリンク先の
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=51;id=FAQ
に書いてあるように
「VBAでは、VBで当たり前な「コントロール配列」という便利な
機能が使えません。」

【32871】Re:フォームの部品の配列
お礼  サザエ  - 05/12/25(日) 18:51 -

引用なし
パスワード
   みなさん、ありがとう。本当に助かります。

【32872】Re:フォームの部品の配列
発言  inoue E-MAILWEB  - 05/12/25(日) 22:14 -

引用なし
パスワード
   値のセット・取り出しだけで良ければ、クラスの知識がなくても
モジュールレベルでMsForms.CheckBox型の配列変数を用意して、
UserForm_Initializeで各CheckBoxをセットしておくだけで
配列処理可能です。

[カレンダーによる日付入力]
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_100.html
ここではカレンダーの各日付ラベルを配列変数で処理しています。

8505 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free