アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBAのコードについて質問があります。
最近VBAの勉強を始めたばかりで、いろいろつまづいています。
よろしければ教えてください。

Sheet1のA1セルからA12セルまで文字列が入っています。
そしてUserForm1にCommandbuttonが1から12まであります。

お聞きしたいのは、この時のCommandbuttonのCaptionををA1セルから連続で対応させたいのですが、上手くいかないのでその原因を教えていただきたいのです。

Commandbutton1のCaption = A1セルの文字列
Commandbutton2のCaption = A2セルの文字列
Commandbutton3のCaption = A3セルの文字列



Commandbutton12のCaption = A12セルの文字列

上記のような状態にしたいのです。

一つ一つセルを指定して、ボタンに対応させる方法はわかったのですが、For 〜 Next を使えばもっとシンプルになるのではと考えました。

そこで自分なりに下記のコードを書いて見たのですが、「メソッドまたはデータ メンバーが見つかりません」とエラーがでます。

Private Sub UserForm_Initialize()

Dim i As String, j As Integer

For j = 1 To 12

i = Sheet1.Cells(j, 1)

UserForm1.Commandbutton(j).Caption = i
↑ここがダメみたいです
Next

End Sub

どうすればよいか教えていただけるとありがたいです。
よろしくお願いします。

A 回答 (1件)

それでしたら


--------------------------------------------------------
Sub UserForm_Initialize()
Dim j As Long
For j = 1 To 12
UserForm1.Controls("CommandButton" & j).Caption = Sheets("Sheet1").Cells(j, 1).Value
Next
End Sub
--------------------------------------------------------
    • good
    • 1
この回答へのお礼

遅くなって申し訳ありません。おかげさまで、無事に解決できました。ありがとうございました。

お礼日時:2017/12/24 06:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!