Excel VBA質問箱 IV

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

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


75764 / 76732 ←次へ | 前へ→

【5400】Re:オブジェクトの配列化について
回答  Kein  - 03/5/10(土) 3:23 -

引用なし
パスワード
   >ComboBox等のオブジェクト
別に、ActiveXコントロールに、限定してるわけでは無いですね ?
それならフォームのComboBoxで、Indexが使えますよ。
書き方としては・・

ActiveSheet.ComboBoxes.Add Left, Top, Width, Height

ですが、これをTopの値を大きくしながら、何回かループして複数配置してみて下さい。

MsgBox ActiveSheet.ComboBoxes(2).Name

で、2回目に追加されたComboBoxの名前が、表示できると思います。
なお、フォームを使っている場合だけ、Callerプロパティで各コントロールの固有名
を取得できますので、OnActionで全て同じマクロを登録し・・

Dim x As Variant
x = Application.Caller
If VarType(x) <> 8 Then Exit Sub
Select Case x
  Case "COMBOBOX 1"

  Case "COMBOBOX 2"


などとすることで、クリックされたボックスを条件分岐して、別のコードを
走らせることが出来ます。これにより、1つずつの Clickイベントマクロを書く
手間が省けます。Excel5.0の時代からあるやり方ですが、ActiveXより動作が
安定しているようなので、Excel2000でもこちらを使っていますが・・。

1 hits

【5395】オブジェクトの配列化について せいろく 03/5/9(金) 19:57 質問
【5396】Re:オブジェクトの配列化について りん 03/5/9(金) 22:04 発言
【5399】Re:オブジェクトの配列化について 谷孝一 03/5/10(土) 0:56 回答
【5400】Re:オブジェクトの配列化について Kein 03/5/10(土) 3:23 回答
【5401】Re:オブジェクトの配列化について Kein 03/5/10(土) 3:26 発言

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