• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロでフォーム処理の繰り返し)

マクロでフォーム処理を繰り返し

このQ&Aのポイント
  • マクロでフォーム処理を繰り返し行う方法はありますか?
  • 例えば、フォームのクリックイベントをループ処理できないでしょうか?
  • 100個のラベルのクリックイベントを一括で処理する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.3

サンプルをアップしてもいいのですがコードの説明がちょと面倒なので 次のサイトにCommandButtonのサンプルと説明が載ってますので自分でトライしてみてください。 その上で分からないところがあったら再度質問してください。 ある程度分かっての質問なら回答もし易いので。 http://www.moug.net/skillup/opm/opm08-05.htm   以上。

1percent
質問者

お礼

回答ありがとうございます。 したいことは、まさにご紹介頂いたページのことです。 昨日このページ(http://itpro.nikkeibp.co.jp/article/COLUMN/20070511/270730/?P=2)を発見したのですがVBでは可能でもVBAでは”解決策が見つかっていない”と書いてあり諦めていました。 ありがとう御座いました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

マクロというからエクセルかアクセスのVBAでのことかな。それぐらい質問に書くべきです。 VBかエクセルVBAかUserForm上かワークシート上の貼り付けかで(差がある)微妙な点だと思うから。 エクセルVBAでやってみました。 エクセルVBAでユーザーフォームを1つ挿入。 ラベルコントロール(コントロールツールボックスから)を4つ(何個でも良い)貼り付けた。 コマンドボタンを1つ貼り付けた。 ボタンのクリックイベントに Private Sub CommandButton1_Click() For i = 1 To 4 UserForm1.Controls("Label" & i).BackColor = RGB(255, 0, 0) Next End Sub Sub/ユーザーフォームの実行でフォームが表示され、ボタンをクリックするとボタンの色が赤くなりました。 コントロール配列が使えるVB6や使えない、VB.NET以後などそれぞれで 違うややこしい箇所です。 あるいはフォームとコントロールツールバーでも違う点があったりする。

1percent
質問者

補足

回答ありがとうございます。 質問をはしょり過ぎ、質問の意図が伝わらず申し訳ありませんでした。 前提としてはExcel VBAのユーザーフォーム上に配置したラベルのイベント処理です。 ANo.1の方の回答へ質問の補足をさせて頂きましたのでそちらをご覧頂きご回答頂ければ幸いです。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

100個あるラベルのどれか1つをクリックすると、全部のラベルの色を変えればよいのですか? あくまでも、クリックしたラベルだけ色を変えますか?>そうすると繰り返し処理する必要はないか?

1percent
質問者

補足

回答ありがとうございます。 クリックしたラベルだけを変化させたいと考えております。 質問に記述したイベントを記述していく時や下記のように処理を追加した時、100回もコピー、ペーストしたり"Label○○"の○○の数字を書き換えたりするのが面倒臭く変更漏れや追加漏れが発生するかもしれないので、まとめる方法はないか質問致しました。 Private Sub Label1_Click()  Label1.BackColor = RGB(255, 0, 0)  Label1.Caption = "hoge" ← 処理を追加 End Sub ※「Label1_Click()」に追加した処理を「Label2_Click()」~「Label100_Click()」にも追加(『Label1.Caption = "hoge"』をコピー・貼り付け)し、それぞれ『Label2.Caption』~『Label100.Caption』に変更するのが面倒臭い(数字の変更はWithを使えば軽減されますが...)。 宜しくお願い致します。

関連するQ&A