Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


31086 / 76732 ←次へ | 前へ→

【50902】Re:ユーザーフォームが開いているかどうかの確認の仕方について教えて下さい。
質問  どーも  - 07/8/21(火) 23:11 -

引用なし
パスワード
   パッセンジャーさん
早速の御教授ありがとうございます。For Eachを使うのですね。

ということであれば、存在をチェックするfunctionを下記のように作って、

----- ここから -----
'現在開いているユーザーフォームの存在のチェック
'True=ユーザフォーム有り、False=ユーザフォーム無し
Function IsUserformOpen(strUserformName As Variant) As Boolean
  Dim objUserform As Object
   IsUserformOpen = False
  'ユーザーフォームの一覧
  For Each objUserform In UserForms
    '大文字小文字を区別しない
    If LCase(strUserformName) = LCase(objUserform.Name) Then
      IsUserformOpen = True
      Exit For
    End If
  Next
End Function
----- ここまで -----

コマンドボタンのルーチンの条件で使えるかと思ったのですが、

----- ここから -----
Private Sub CommandButton1_Click()
  '画面を固定
  Application.ScreenUpdating = False
  
  If (IsUserformOpen(UserForm2.Name) = False) Then
     UserForm1.Show vbModeless
  End If 
  '画面固定を解除
  Application.ScreenUpdating = True
End Sub
----- ここまで ----
型が違うと怒られてしまいます。

UserForm2.Nameの型がVariantじゃ駄目、と言われているような風なのですが、間違い等をご指摘頂ければ幸いです。

1 hits

【50884】ユーザーフォームが開いているかどうかの確認の仕方について教えて下さい。 どーも 07/8/21(火) 19:25 質問
【50885】Re:ユーザーフォームが開いているかどうか... ぱっせんじゃー 07/8/21(火) 19:44 発言
【50902】Re:ユーザーフォームが開いているかどうか... どーも 07/8/21(火) 23:11 質問
【50914】Re:ユーザーフォームが開いているかどうか... ぱっせんじゃー 07/8/22(水) 8:39 発言
【50916】Re:ユーザーフォームが開いているかどうか... どーも 07/8/22(水) 10:33 お礼
【50917】Re:ユーザーフォームが開いているかどうか... yuu1 07/8/22(水) 10:56 回答
【50918】Re:ユーザーフォームが開いているかどうか... どーも 07/8/22(水) 11:49 お礼

31086 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free