Excel VBA質問箱 IV

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

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


7587 / 13644 ツリー ←次へ | 前へ→

【38113】現在表示されているUserFormの数を知るには? PT 06/5/26(金) 21:39 質問[未読]
【38114】Re:現在表示されているUserFormの数を知る... PM 06/5/26(金) 22:36 発言[未読]
【38116】Re:現在表示されているUserFormの数を知る... PT 06/5/26(金) 22:48 お礼[未読]
【38115】Re:現在表示されているUserFormの数を知... kobasan 06/5/26(金) 22:45 発言[未読]
【38117】Re:現在表示されているUserFormの数を知... PT 06/5/26(金) 23:07 お礼[未読]
【38124】Re:現在表示されているUserFormの数を知... kobasan 06/5/27(土) 0:21 発言[未読]
【38126】Re:現在表示されているUserFormの数を知... PT 06/5/27(土) 0:28 お礼[未読]

【38113】現在表示されているUserFormの数を知るに...
質問  PT  - 06/5/26(金) 21:39 -

引用なし
パスワード
   現在表示中のUserFormeの数を知るコードは
UserForms.count だと思っていたのですが、
UserForms(Visible=true).countが正しいと聞いたのですがどちらが正しいでしょうか?ご教授願えますでしょうか。

【38114】Re:現在表示されているUserFormの数を知...
発言  PM  - 06/5/26(金) 22:36 -

引用なし
パスワード
   ▼PT さん:

>現在表示中のUserFormeの数を知るコードは
>UserForms.count だと思っていたのですが、
>UserForms(Visible=true).countが正しいと聞いたのですがどちらが正しいでしょうか?ご教授願えますでしょうか。

上の方が正しいですね。

【38115】Re:現在表示されているUserFormの数を知...
発言  kobasan  - 06/5/26(金) 22:45 -

引用なし
パスワード
   PT さん 今晩は。

>現在表示中のUserFormeの数を知るコードは

現在表示中のUserFormeの数は、下記コードのcntでわかります。

>UserForms.count だと思っていたのですが、


Sub test()
Dim frm As Object
Dim cnt As Long
  UserForm1.Show 0
  UserForm2.Show 0
  UserForm2.Hide
  
  For Each frm In UserForms
    If frm.Visible = True Then cnt = cnt + 1
  Next
  MsgBox UserForms.Count 'Hideされているものもカウント
  MsgBox cnt   'Hideされているものはカウントしない
End Sub

【38116】Re:現在表示されているUserFormの数を知...
お礼  PT  - 06/5/26(金) 22:48 -

引用なし
パスワード
   PMさんご回答ありがとう御座います。
Msgbox UserForms.Count で現在表示中のUserFormの数が表示されるということですか。大変ありがとう御座いました。例えば非表示の場合しっかりカウントできないかと思っていました。

【38117】Re:現在表示されているUserFormの数を知...
お礼  PT  - 06/5/26(金) 23:07 -

引用なし
パスワード
   kobasan さん、ご教授ありがとう御座います。
ただ、一行のコードでHideされていないものはカウントしなく表示中のUserFormの数をカウント出来ると聞いたのですがMsgBox UserForms.Count(Visible=true)
とかではダメなのでしょうか?大変恐縮な質問ばかりですみません。
Visible=trueが気になってしまいまして。ループ処理をしなくてもできるときいたのです。

【38124】Re:現在表示されているUserFormの数を知...
発言  kobasan  - 06/5/27(土) 0:21 -

引用なし
パスワード
   ▼PT さん:

>ただ、一行のコードでHideされていないものはカウントしなく表示中のUserFormの数をカウント出来ると聞いたのですがMsgBox UserForms.Count(Visible=true)
>とかではダメなのでしょうか?大変恐縮な質問ばかりですみません。

ヘルプを参考にすると、 Visible は、object のプロパティですから、

object.Visible [= Boolean]

のような使い方をするのが正しいのであって、

Visible=true

このような使い方はできないと思います。

【38126】Re:現在表示されているUserFormの数を知...
お礼  PT  - 06/5/27(土) 0:28 -

引用なし
パスワード
   kobasan さん大変ありがとう御座います。
また、質問がありましたらここでお世話になりたいと思います。
その時は、是非宜しくお願いいたします。

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