| 
    
     |  | おはようございます。 解決後ですが、ちょっと気になったので・・・。
 
 > 他のブックで開いているUserformのCaptionを取得したいとおもいますが、
 
 >>別ブックの標準モジュールに
 >>
 >>Function Test2() As String
 >>  Test2 = UserForm1.Caption
 >>End Function
 ↑これだと、正確には、開いているUserformのCaptionの取得ではありません。
 
 上記のFunctionを呼び出せば、開いていなくても Userform1のCaptionは、取得できてしまいます。又、複数のユーザーフォームが存在する ということもありますよね!!
 
 
 他のブックで開いているUserformのCaptionを取得したいブックの
 Thisworkbookのモジュールに
 
 
 function usedfrm() as object
 set usedfrm=userforms
 end function
 
 
 として、
 
 
 呼び出しブックの標準モジュールに
 
 
 sub test
 dim frm as object
 dim mes as string
 for each frm in workbooks("対象ブックの名前.xls").usedfrm
 if frm.visible then
 mes="表示されている"
 else
 mes="非表示です"
 end if
 msgbox frm.caption & "は、 " & mes
 next
 set frm=nothing
 end sub
 
 表示されているユーザーフォームが対象なら、Visibleプロパティのチェックで
 いけると思います。
 
 亜矢さんの仕様では、ここまでする必要がないのであれば、
 余計なことですが・・・・。
 
 |  |