答えてねっとは、
マイクロソフトが運営する
パソコンに関する
Q&Aサイトです。

 

質問

Excel ユーザーフォーム上のラベルのオブジェクト名に変数を使いたい。

製品名:Office製品/Excel/2003

現象:知りたい/プログラミング

懸賞ポイントが設定されています。 100

この質問は解決で締め切られています

ユーザーフォーム上に複数のラベルを作り、オブジェクト名は lbl1, lbl2, lbl3 ...としました。
各ラベルにはシートの列見出しを反映させたくて以下のコードを作りました(失敗作です)

Worksheets("Sheet1").Select
For i = 1 To 5
userform.lbli = Cells(5, i).Value '5行目は固定、列番号だけ移動
Next i

オブジェクト名の末尾の数字にカウンタ変数 i を使ってみたのですが;
「コンパイル エラー:メソッドまたはデータ メンバが見つかりません。」
となってしまいます。
そこで lbl(i) とか lbl & i とか "lbl" & i などと試してみましたが、どれも不正解でした。

userform.lbl1 = Cells(5, 1).Value とすると、lbl1にはA5のデータが反映されるのですが、
この lbl の後の数字部分にカウンタ変数を利用するにはどのように書いたら良いでしょうか。

よろしくお願い致します。

質問者からのコメント

  • 投稿日時:2007/02/15 14:25

確認が遅くなってしまい、申し訳ありませんでした。
ばっちりできました。
どうもありがとうございました。

回答1 (この回答は質問に対する回答です)

  • 投稿ID:A2007054179
  • 投稿日時:2007/02/14 20:08
  • 最も役に立った投稿として評価されました

下記のようにしてみてください。

Worksheets("Sheet1").Select
For i = 1 To 5
UserForm.Controls("lbl" & i) = Cells(5, i).Value '5行目は固定、列番号だけ移動
Next i

  •  

答えてねっと

昨日の利用状況


総投稿数 431 件

回答総数 337 件

登録者数 27 人

利用登録ユーザ 1510 人

ゲスト 243581 人

ページビュー 427949

登録済みFAQ 20 件

景品応募サイト

Windows ヘルプと使い方

マイクロソフトドリームスパーク