Excel VBA質問箱 IV

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

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


44235 / 76735 ←次へ | 前へ→

【37521】Re:同じようなコードをまとめる
発言  ichinose  - 06/5/9(火) 22:41 -

引用なし
パスワード
   ▼HIRO さん:
こんばんは。

>
>例
>売掛→ 品名 単価 数量 販売日
>買掛→ 品名 単価 数量 仕入日 支払日 支払先

問題になっているのは、あるユーザーフォームから、
別のユーザーフォームを表示したときのインターフェースだと思います。


極々、簡単な例題を考えましょう。

新規ブックにユーザーフォームをふたつ作成します。

最初のユーザーフォーム
  データ入力用のユーザーフォーム
  ユーザーフォーム名  −−Userform1
      テキストボックス  Textbox1
      コマンドボタン   Commandbutton1

二つ目のユーザーフォーム
  データ選択用のユーザーフォーム
  ユーザーフォーム名  −−Userform2
      コンボボックス   ComboBox1
      コマンドボタン   Commandbutton1


という二つのユーザーフォームを作成してください。
では、コードです。


Useform2のモジュール

'============================================================
Public wtxt As MSForms.TextBox
'↑コンボボックスで選択した内容を反映するテキストボックス
' これがこのUserform2が外部とのI/Oに使用する変数です
' これを
' public Frm as userform
' としてユーザーフォームそのもを変数として設定する方法もありますが、
' そうするとUserfrom2の機能が限定されてしまいます。
' 限定されても使い勝手が良いという場合もありますから、ここは
' よく本来の仕様を検討してください 
'=============================================
Private Sub CommandButton1_Click()
  wtxt.Text = ComboBox1.Text
  Unload Me
End Sub
'=============================================
Private Sub UserForm_Initialize()
  With ComboBox1
    .List() = Array("A商品", "B商品", "C商品", "D商品", "E商品")
    .ListIndex = 0
    End With
End Sub


Usefrom1のモジュール

'===================================================================
Private Sub CommandButton1_Click()
  Load UserForm2
  With UserForm2
    Set .wtxt = TextBox1
    .Show
    End With
End Sub


標準モジュールに

sub main()
  userform1.show
end sub


として、mainを実行して見てください。


Userform1が表示されます。

コマンドボタンをクリックしてください。

Userform2が表示されます。

コンボボックスから、適当な商品を選択し、コマンドボタンをクリックしてください


コンボボックスで選択した内容がUserform1のテキストボックスに
表示されます。


この考え方を実際のプログラムに応用してください。

まずは、試してみてください。

0 hits

【37469】同じようなコードをまとめる HIRO 06/5/8(月) 22:01 質問
【37474】Re:同じようなコードをまとめる ichinose 06/5/9(火) 8:32 発言
【37477】Re:同じようなコードをまとめる Jaka 06/5/9(火) 11:33 発言
【37510】Re:同じようなコードをまとめる HIRO 06/5/9(火) 21:35 お礼
【37507】Re:同じようなコードをまとめる HIRO 06/5/9(火) 21:23 お礼
【37521】Re:同じようなコードをまとめる ichinose 06/5/9(火) 22:41 発言
【37534】Re:同じようなコードをまとめる HIRO 06/5/10(水) 20:30 お礼

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