Excel VBA質問箱 IV

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

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


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

【8410】同種のオブジェクトに同じ値を代入するには ミラーマン 03/10/15(水) 14:44 質問
【8420】Re:同種のオブジェクトに同じ値を代入するに... INA 03/10/15(水) 17:56 回答

【8410】同種のオブジェクトに同じ値を代入するには
質問  ミラーマン  - 03/10/15(水) 14:44 -

引用なし
パスワード
   シート上に同じ種類のオブジェクトを20個程度配置し、
同じ内容を表示したいと考えております。

例えば、テキストボックスオブジェクトを20個配置し、
全てに、変数tmpNameを代入したいとすると、
単純には、

Worksheets("Sheet1").TextBox1.Value = tmpName
Worksheets("Sheet1").TextBox2.Value = tmpName
Worksheets("Sheet1").TextBox3.Value = tmpName
と繰り返し、
Worksheets("Sheet1").TextBox20.Value = tmpName
まで書けばできることですが、一括で代入するなど
もっと賢い方法は無いものでしょうか。

確か、VisualBasicでは、オブジェクトの配列があった
と思いますが、VBAでは利用できないものでしょうか。

目的は、ラベル印刷です...

【8420】Re:同種のオブジェクトに同じ値を代入する...
回答  INA  - 03/10/15(水) 17:56 -

引用なし
パスワード
   コントロール配列ですね。
VBAでは使えませんが、以下のような方法で処理することは出来ます。

コントロールツールボックスのTextBoxの場合。

Dim ObOle As OLEObject
  For Each ObOle In OLEObjects
    If TypeName(ObOle.Object) = "TextBox" Then
      ObOle.Object.Value = "ぜんぶ同じ文字です。"
    End If
  Next ObOle

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