- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ラベル内容変更の簡略化がしたい。)
Excel VBAでラベルの内容を一括変更する方法は?
このQ&Aのポイント
- Excel VBAを使用して、ユーザーフォーム上のラベルの内容を一括で変更する方法について教えてください。
- 特定のエクセルファイルで、ユーザーフォーム上に配置されたラベルの内容を一括で変更したいのですが、どのようなVBAコードを書けば良いでしょうか?
- ラベルの内容を一括で変更するためのForループの記述方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでしょうか。 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
その他の回答 (1)
- nishi6
- ベストアンサー率67% (869/1280)
回答No.2
追加の回答です。個人的には好みではないのですが、 Me.Controls("Label" & i) = "使用中" のように書くのが簡単かもしれません。 個人的にこれを余り使わないのは、例えばテキストボックスにも"LabelXXX"という名前が設定できるからです。 ご参考に。
お礼
なるほど、思うようになりました。 結構、多種な参考書を読んではいるのですが、Exelは奥が深くて・・・ きっと出来るとは思っていたのですが、参考になるモノを見つけられないでいました。これで、またスキルがUPすると思います。 本当にありがとうございました。