
OSはXP、
Excelは2003 を使用しています。
色々なサイトを参考にさせて頂いて作ったブック内のコントロールを表に書き出すマクロが下記になるのですが、
ユーザーフォーム名を都度書き換えないといけないので、
同時にブック内のユーザーフォーム名を変数に格納する方法をどなたか教えて頂けないでしょうか?
Sub test()
Dim c As Control, r As Long
Dim d As Control
Load frmCustomerEntry ’←☆
Worksheets("Sheet1").Activate
r = 3
Cells(1, 1) = ("コントロール数:" & frmCustomerEntry.Controls.Count) ’←☆
Cells(2, 1).Value = "No"
Cells(2, 2).Value = "名前"
Cells(2, 3).Value = "種類"
Cells(2, 4).Value = "Caption"
Cells(2, 5).Value = "高さ"
Cells(2, 6).Value = "幅"
Cells(2, 7).Value = "Top"
Cells(2, 8).Value = "Left"
Cells(2, 9).Value = "Enabled"
For Each c In frmCustomerEntry.Controls
Cells(r, 1).Value = r - 2
Cells(r, 2).Value = c.Name
Cells(r, 3).Value = TypeName(c)
If TypeName(c) = "TextBox" Then 'captionの項目がないのでエラー回避
Cells(r, 4).Value = ""
ElseIf TypeName(c) = "ListBox" Then 'captionの項目がないのでエラー回避
Cells(r, 4).Value = ""
Else
Cells(r, 4).Value = c.Caption
End If
Cells(r, 5).Value = c.Height
Cells(r, 6).Value = c.Width
Cells(r, 7).Value = c.Top
Cells(r, 8).Value = c.Left
Cells(r, 9).Value = c.Enabled
r = r + 1
Next c
On Error GoTo 0
End Sub
*****************
ブックの中にユーザーフォームが10数個あります。
名前は任意に名前に変更しています。
全て「frm」が頭に付いていて以下はバラバラです。
説明不足なところもあるかもしれませんが、
どうかよろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは。
こんな風にすれば、出来ると思います。
Sub Test2()
myForms_Test "frmCustomerEntry"
End Sub
Sub myForms_Test(sName As String) 'サブプロシージャにする
Dim c As Control, r As Long
Dim d As Control
Dim UF As UserForm
Set UF = UserForms.Add(sName)
Load UserForms.Add(sName)
ThisWorkbook.Worksheets("Sheet1").Activate
・・・
WindFaller様
お礼が遅くなってしまって大変申し訳ありません。
記述して頂いた分で"frmCustomerEntry"だけは出来たのですが、
Book内の全てのユーザーフォーム名を取得してくるモノが欲しかったのです。
いまこの件で時間が取れなくなってしまったので、今回はこれにて一旦締め切らせて貰います。
すみません。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
このQ&Aを見た人はこんなQ&Aも見ています
-
オブジェクト型の変数にフォームを入れたい
Visual Basic(VBA)
-
フォーム名一覧の取得
Visual Basic(VBA)
-
UserForm1.Showでエラーになります。
工学
-
-
4
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
7
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
8
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
9
ExcelでVBAを使用した際に、『パス名が無効です』とエラーになります。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
サブフォームのあるフォームか...
-
ACCESS VBA メインフォーム及び...
-
ACCESS 帳票フォームとデータ...
-
親フォームからサブフォームの...
-
皆さん使っているブラウザを教...
-
親・子リンクフィールドの設定...
-
Accessで埋め込んだサブフォー...
-
ACCESSのサブフォームコピーに...
-
サブフォームを非表示させる方...
-
Access フォームで条件抽出し...
-
DLookup関数を使ってサブフォー...
-
Access2010 サブフォームの並び...
-
ACCESSにて
-
Access:データシート形式表示...
-
Excel VBA 全部のUserForm名
-
アクセスで数値型のフィールド...
-
Access レポート印刷するときに...
-
リストボックスで選択したレコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
親フォームからサブフォームの...
-
サブフォームを非表示させる方...
-
ACCESSにて
-
ACCESS──メインフォームでサブ...
-
Accessで埋め込んだサブフォー...
-
ACCESSのフォームで列固定?
-
ACCESS VBA メインフォーム及び...
-
親・子リンクフィールドの設定...
-
皆さん使っているブラウザを教...
-
サブフォームのあるフォームか...
-
Access2007 ラベルの削除がで...
-
Accessでセレクタをダブルクリ...
-
ACCESSで条件によってサブフォ...
-
access vba サブフォームに条件...
-
ACCESSのサブフォームコピーに...
-
Access 登録ボタンからサブフォ...
-
Access フォームで条件抽出し...
-
access フォーム上で複数行の...
おすすめ情報