VBAのユーザーフォームのラベルに関して質問です。
下記のようなことをする良い方法を教えていただけますでしょうか?
現状ではCaption部分でエラーが発生します。
Sub test2()
Dim i As Long
Dim Word() As Variant
For i = 1 To 20
ReDim Preserve Word(i)
Word(i) = "UserForm2.Label" & i
With Word(i)
.Caption = "Sample" & i
.Font.Name = "MS Pゴシック"
.Font.Size = 11
End With
Next
UserForm2.Show vbModeless
End Sub
情報が少ないかもしれませんがご教示よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
何がやりたいのか意味不明ですが・・・。
>Dim Word() As Variant
>Word(i) = "UserForm2.Label" & i
Wordには、文字列を代入しているのでVariant宣言する意味が不明。
>With Word(i)
>.Caption = "Sample" & i
>.Font.Name = "MS Pゴシック"
>.Font.Size = 11
>End With
WordがStringなのに、「.Caption」「.Font.Name」などのプロパティメソッドにアクセスしているのが意味不明。
フォーム「UserForm2」が存在し、そのフォームにラベルを追加する。
との事だとして、以下のようにすればどうですか?
Sub test2()
Dim i As Long
For i = 1 To 20
With UserForm2.Controls.Add("Forms.Label.1", "Label" & i, True)
.Top = i * 10
.Left = 0
.Caption = .Name
.Font.Name = "MS Pゴシック"
.Font.Size = 11
End With
Next
UserForm2.Show vbModeless
End Sub
No.1
- 回答日時:
処理を見るに、配列Word(i)には文字列しか入っていません。
UserFormを格納しないと .Captionやらプロパティ設定できません。
Set Word(i) = UserForms.Add(UserForm2.Label & i)
こうかな、というとこですが、UserForm2.Label & i によって存在しているUserFormの名前になっていないとエラーになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Visual Basic(VBA) evcel VBAについて 2 2022/08/02 21:37
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
String型の日付(2005/11/25)の...
-
C# マルチスレッドにおける例外...
-
nullで、return出来るのはどん...
-
【JAVA】与えられた金額を貨幣...
-
スタックオーバーフローとは?
-
子プロセスで発生した例外を親...
-
文字列からダブルクオートの削除
-
例外ってIf文の中に入れますか...
-
VBA 400エラー 1004エラー
-
C++の例外処理について
-
Javaで文字列をゼロ埋め(ゼロパ...
-
文字列が数字のみで構成されて...
-
オープンアプリにおける、テキ...
-
0除算の例外処理ができない!!...
-
時間の取得
-
エクセルVBAで、条件に一致する...
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
c++,ある関数のクラスから別の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
【JAVA】与えられた金額を貨幣...
-
連続する「\\」をひとつの「\\...
-
文字列からダブルクオートの削除
-
VB.Net Object型 空かどうか
-
0除算の例外処理ができない!!...
-
VB.NETで16進数が正しいかどう...
-
数字か文字列かを判定する関数
-
例外ってIf文の中に入れますか...
-
C# マルチスレッドにおける例外...
-
スタックオーバーフローとは?
-
String型の日付(2005/11/25)の...
-
Timestamp型への変換について(J...
-
C# UriFormatExceptionの回避
-
VBA Evaluate関数 型が一致しま...
-
ADOによるレコードの追加/更新
-
時間の取得
-
WebClient()以外でネットにアク...
-
C#の捕捉されない例外処理の対...
-
タトゥーや墨を入れる人の共通点
おすすめ情報