Excel VBA質問箱 IV

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

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


29775 / 76738 ←次へ | 前へ→

【52238】Re:他ブックのユーザーフォームを呼ぶ その1
発言  ichinose  - 07/11/3(土) 8:02 -

引用なし
パスワード
   ▼acch さん:
おはようございます。

>book1上のUserform1 をクリックすると boo2のUserform1 が起動するようにしたいのです。

↑という仕様ならば・・・、

>
>試しに下記のように記述してみましたが、動きません。
>どこに問題がありますか?????

提示されたコードでは、仕様とまったく違います。
>
>' Sub main() を起動
>' Userform1 が表示される
> --- ここまでは動作しているようです --------  
>
>’==== 以下、Book1 の ThisWorkbook に記述   =
>Sub main()
> Call book1_opn '対象のブックをオープン
> UserForm1.Show vbModeless
>End Sub


>Function getfrm(frmnm) As Object
'このFunctionは、Book1にあるロードされているユーザーフォームが対象です
> Dim frm As Object
> Set getfrm = Nothing
> For Each frm In UserForms
>  If UCase(frm.Name) = UCase(frmnm) Then
>    Set getfrm = frm
>    Exit For
>  End If
> Next
>End Function
>
>’==== 以下、Book2 の Sheet1 に記述   =
>Private Sub Worksheet_SelectionChange(ByVal target As Range)
'このイベントプロシジャー、 
'冒頭の仕様で記述された
'「book1上のUserform1 をクリックすると boo2のUserform1 が起動するようにしたいのです。」

'仕様とは関係ないプロシジャーですよね!!

> Dim frm As Object
> Set frm = Workbooks("book1.xls").getfrm("userform1")
'↑これで取得できるは、Book1のUserform1ですよね?(ロードされていれば)
> If Not frm Is Nothing Then
> frm.Show
> End If
>End Sub

私には、仕様とコードの関係がよくわかりません。

次投稿に続く。

0 hits

【52156】他ブックのユーザーフォームを呼ぶ acch 07/10/25(木) 15:09 質問
【52157】Re:他ブックのユーザーフォームを呼ぶ Jaka 07/10/25(木) 15:55 発言
【52237】Re:他ブックのユーザーフォームを呼ぶ acch 07/11/2(金) 22:21 質問
【52238】Re:他ブックのユーザーフォームを呼ぶ そ... ichinose 07/11/3(土) 8:02 発言
【52239】Re:他ブックのユーザーフォームを呼ぶ そ... ichinose 07/11/3(土) 8:40 発言
【52241】Re:他ブックのユーザーフォームを呼ぶ そ... acch 07/11/3(土) 17:52 お礼

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