Excel VBA質問箱 IV

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

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


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

【30295】別のbookに移動した際にUserformを開けたい mitu 05/10/24(月) 17:02 質問[未読]
【30303】Re:別のbookに移動した際にUserformを開け... ponpon 05/10/24(月) 21:15 発言[未読]
【30309】Re:別のbookに移動した際にUserformを開け... mitu 05/10/25(火) 2:26 お礼[未読]
【30313】Re:別のbookに移動した際にUserformを開け... Jaka 05/10/25(火) 9:08 回答[未読]
【30324】Re:別のbookに移動した際にUserformを開け... mitu 05/10/25(火) 14:38 お礼[未読]

【30295】別のbookに移動した際にUserformを開けた...
質問  mitu  - 05/10/24(月) 17:02 -

引用なし
パスワード
   book1に設けたcommandbuttonで、book2に切替えるようにしています。
book2には、buttonを設けてuserformを開くようにしています。

book1からbook2に移行する際の引数の値によっては、book2が開いた後、
(book2に設けたbuttonをクリックすることなく)
userformも開きたいのですが、どのようにすればよいのか、具体的に
ご教授をお願いします。

【30303】Re:別のbookに移動した際にUserformを開...
発言  ponpon  - 05/10/24(月) 21:15 -

引用なし
パスワード
   こんばんは。

>book1からbook2に移行する際の引数の値によっては
どんなコードで移行しているかよくわからないので何ですが

>book2が開いた後、
>(book2に設けたbuttonをクリックすることなく)
>userformも開きたいのですが

ならば、
book2のThisWorkbookモジュールに

Private Sub Workbook_Open()
  UserForm1.Show 
End Sub

では、どうでしょう?
これで、いつもuserformが表示されます。

こういう意味じゃなさそうだな。
違ったらごめんなさい。

【30309】Re:別のbookに移動した際にUserformを開...
お礼  mitu  - 05/10/25(火) 2:26 -

引用なし
パスワード
   ▼ponpon さん:
こんばんは。ご教授有難うございました。

>>book1からbook2に移行する際の引数の値によっては
>どんなコードで移行しているかよくわからないので何ですが

Call book2に移行(引数)

Sub book2に移行(引数)
  pathをもとめて
  Workbooks.Open (path & book2)
  ここで、userformを開きたく、
  Call Workbooks(booknm).Userform4
    
  Run ActiveWorkbook.UserForm4.Show(vbmodaless)

  等をこころみましたが、うまくいかず質問させていただきました。

  教えていただいたことを参考にして下記を追加し
  Set sh = Workbooks(book2).Sheets(1)
  
  sh.Cells(1, 1) = mebook
  sh.Cells(1, 2) = 引数
  sh.activate
End sub

book2で、  
Private Sub Workbook_Activate()
  引数 = Sheets(1).Cells(1, 2)
  If 引数 > 0 Then
    UserForm.Show vbmodaless
    UserForm.ListBox = UserForm.ListBox.List(引数 - 1)
  End If
  Sheets(1).Cells(1, 2) = ""
End Sub

とし、目的を達することができました。
有難うございました。

【30313】Re:別のbookに移動した際にUserformを開...
回答  Jaka  - 05/10/25(火) 9:08 -

引用なし
パスワード
   解決後ですが...。

pas = "Book2.xlsのあるパス C:\Windows\○○\"
BKNm = "Book2.xls"
Workbooks.Open (pas & BKNm)
Workbooks(BKNm).Sheets("Sheet1").OLEObjects("CommandButton1").Object = True

【30324】Re:別のbookに移動した際にUserformを開...
お礼  mitu  - 05/10/25(火) 14:38 -

引用なし
パスワード
   ▼Jaka さん:
こんにちは。ご教授有難うございました。

教えていただきました
Workbooks().Sheets().OLEObjects("CommandButton1").Object = True
で、うまくいきました。

他のブックのコマンドボタンを操作する上記の方法は、他にも利用できますので、大いに活用させていただきます。

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