Excel VBA質問箱 IV

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

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


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

【29999】UserForm1の各ボタンからUserForm2へ うぇんずでー 05/10/18(火) 1:48 質問[未読]
【30000】Re:UserForm1の各ボタンからUserForm2へ かみちゃん 05/10/18(火) 1:57 回答[未読]
【30001】Re:UserForm1の各ボタンからUserForm2へ ichinose 05/10/18(火) 2:14 発言[未読]
【30067】Re:UserForm1の各ボタンからUserForm2へ うぇんずでー 05/10/19(水) 0:45 お礼[未読]

【29999】UserForm1の各ボタンからUserForm2へ
質問  うぇんずでー  - 05/10/18(火) 1:48 -

引用なし
パスワード
   UserForm1にコマンドボタンが3つあります。
それらのボタンを押すとすべてUserForm2を表示させるようになっています。
UserForm2あるテキストボックスの内容を、UserForm1のどのコマンドボタンから
飛んで来たかによって変化させたいのですが、うまく出来ません。

最近マクロからマクロへの変数の受け渡しを学んだ程度のレベルです。
おそらくすごく簡単なんでしょうが、どなたか教えていただけないでしょうか?

【30000】Re:UserForm1の各ボタンからUserForm2へ
回答  かみちゃん  - 05/10/18(火) 1:57 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>UserForm1にコマンドボタンが3つあります。
>それらのボタンを押すとすべてUserForm2を表示させるようになっています。
>UserForm2あるテキストボックスの内容を、UserForm1のどのコマンドボタンから
>飛んで来たかによって変化させたい

以下のような感じでいかがですか?

'標準モジュールに記述
Public strXX As String '←ポイント
Sub Macro1()
 UserForm1.Show
End Sub

'UserForm1に記述
Private Sub CommandButton1_Click()
 strXX = "CommandButton1"
 UserForm2.Show
End Sub
Private Sub CommandButton2_Click()
 strXX = "CommandButton2"
 UserForm2.Show
End Sub
Private Sub CommandButton3_Click()
 strXX = "CommandButton3"
 UserForm2.Show
End Sub

'UserForm2に記述
Private Sub UserForm_Initialize()
 TextBox1.Value = strXX
End Sub

【30001】Re:UserForm1の各ボタンからUserForm2へ
発言  ichinose  - 05/10/18(火) 2:14 -

引用なし
パスワード
   ▼うぇんずでー さん、かみちゃんさん、こんばんは。

>UserForm1にコマンドボタンが3つあります。
>それらのボタンを押すとすべてUserForm2を表示させるようになっています。
>UserForm2あるテキストボックスの内容を、UserForm1のどのコマンドボタンから
>飛んで来たかによって変化させたいのですが、うまく出来ません。
>
>最近マクロからマクロへの変数の受け渡しを学んだ程度のレベルです。
>おそらくすごく簡単なんでしょうが、どなたか教えていただけないでしょうか?
こんな方法でもよいです。
Userform1のモジュール

Private Sub CommandButton1_Click()
  Load UserForm2
  With UserForm2
    .show_caller = "CommandButton1"
    .Show
    End With
End Sub

Private Sub CommandButton2_Click()
  Load UserForm2
  With UserForm2
    .show_caller = "CommandButton2"
    .Show
    End With
End Sub

Private Sub CommandButton3_Click()
  Load UserForm2
  With UserForm2
    .show_caller = "CommandButton3"
    .Show
    End With
End Sub


Userform2のモジュール

Public show_caller As String
Private Sub UserForm_Activate()
  TextBox1.Text = show_caller
End Sub

【30067】Re:UserForm1の各ボタンからUserForm2へ
お礼  うぇんずでー  - 05/10/19(水) 0:45 -

引用なし
パスワード
   かみちゃんさん、ichinoseさんありがとうございます。
できました。

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