Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
コントロールをFor~Nextで設定したい
投稿日時: 22/02/22 23:05:13
投稿者: tom-tetu

シートに配置したコントロールのCaptionを設定シートで指定した名称に変更したいのですが
下記のような長いコードをFor Nextを使って3行程度にまとめるにはどうしたらいいですか?
 
Private Sub Worksheet_Activate()
     
    CommandButton1.Caption = Sheets("設定").Cells(4, 3)
    CommandButton2.Caption = Sheets("設定").Cells(5, 3)
    CommandButton3.Caption = Sheets("設定").Cells(6, 3)
       〜
    CommandButton12.Caption = Sheets("設定").Cells(15, 3)
 
End Sub
 
      宜しくお願い致します。

回答
投稿日時: 22/02/22 23:29:02
投稿者: simple

こうですか?

Private Sub Worksheet_Activate()
    Dim k As Long
    For k = 1 To 12
        Me.OLEObjects("CommandButton" & k).Object.Caption _
               = Sheets("設定").Cells(3 + k, 3)
    Next
End Sub

Sheets("設定")はMeとは異なる前提です。(同一なら修正してください)

投稿日時: 22/02/23 09:03:24
投稿者: tom-tetu

Simpie 様 ありがとうございました解決です。
 コードがスッキリして見やすいものになりました
今後とも宜しくお願いいたします。

回答
投稿日時: 22/02/23 09:31:38
投稿者: simple

simpleです。
 
解決されたなら何より。
解決しましたら、解決済みにチェックして、閉じてくださいね。

投稿日時: 22/03/05 21:24:46
投稿者: tom-tetu

解決策 忘れてました 申し訳ございません。