• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ラベル内容変更の簡略化がしたい。)

Excel VBAでラベルの内容を一括変更する方法は?

このQ&Aのポイント
  • Excel VBAを使用して、ユーザーフォーム上のラベルの内容を一括で変更する方法について教えてください。
  • 特定のエクセルファイルで、ユーザーフォーム上に配置されたラベルの内容を一括で変更したいのですが、どのようなVBAコードを書けば良いでしょうか?
  • ラベルの内容を一括で変更するためのForループの記述方法を教えてください。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

こんな感じでしょうか。 Label1からLabel100を対象にしています。   Dim myCtrl As Control 'フォーム上のコントロール   Dim myCtrlNo As Integer 'ラベル名の『Label』外の部分   'フォーム上のコントロールを調べる   For Each myCtrl In Controls     'ラベルだったら     If TypeName(myCtrl) = "Label" Then       myCtrlNo = Val(Application.Substitute(myCtrl.Name, "Label", ""))       'ラベル名の『Label』外の部分が1~100なら       If 1 <= myCtrlNo And myCtrlNo <= 100 Then         myCtrl = "使用中"       End If     End If   Next

TK1961
質問者

お礼

 なるほど、思うようになりました。 結構、多種な参考書を読んではいるのですが、Exelは奥が深くて・・・  きっと出来るとは思っていたのですが、参考になるモノを見つけられないでいました。これで、またスキルがUPすると思います。  本当にありがとうございました。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

追加の回答です。個人的には好みではないのですが、 Me.Controls("Label" & i) = "使用中" のように書くのが簡単かもしれません。 個人的にこれを余り使わないのは、例えばテキストボックスにも"LabelXXX"という名前が設定できるからです。 ご参考に。

関連するQ&A