Excel VBA質問箱 IV

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

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


11440 / 76734 ←次へ | 前へ→

【70829】Re:comboboxに配列を渡す
発言  kanabun  - 12/1/4(水) 10:46 -

引用なし
パスワード
   ▼正月 さん:
>userformをまたいで配列を渡すのはどうしたらいいのでしょうか?

▼こちらは UserForm1 モジュール
>Private Sub CommandButton1_Click()
> Dim hairetu(3) As Variant
> hairetu(0) = "あ"
> hairetu(1) = "い"
> hairetu(2) = "う"
> unload Me
> userform2.Show
>End Sub
>
▼こちらは UserForm2 モジュール
>Private Sub UserForm_Initialize()
>dim hairetu as variant
>ComboBox1.List = hairetu
>End Sub
↑ UserForm2の UserForm_Initialize() プロシージャのなかで
>dim hairetu as variant
配列を宣言して ComboBox1のリストにセットしようとしてますが、
中身が空なので
>うまくいきません。

標準モジュールに 可変配列を宣言しておき、
UserForm1の2つのCommandButton からその標準モジュールで宣言した
配列に値をセットして UserForm2のComboBox1に渡すか、

以下のように、UserForm1内の処理だけで、UserForm2のComboBox1に
リストのセットまで済ませてしまったらどうでしょう(このばあいは
標準モジュールで 共有配列を宣言する必要はありません)
▼すべてUserForm1 モジュール内で処理する例
Option Explicit

Private Sub CommandButton1_Click()
  Dim hairetu(3) As String
  hairetu(0) = "あ"
  hairetu(1) = "い"
  hairetu(2) = "う"
  hairetu(3) = "え"
  ShowUserform2 hairetu
End Sub

Private Sub CommandButton2_Click()
  Dim hairetu(2) As String
  hairetu(0) = "か"
  hairetu(1) = "き"
  hairetu(2) = "く"
  ShowUserform2 hairetu
End Sub

Private Sub ShowUserform2(arry() As String)
  With UserForm2
    .ComboBox1.List = arry
    .Show 0
  End With
  Unload Me
End Sub
9 hits

【70802】comboboxに配列を渡す 正月 12/1/1(日) 13:50 質問
【70803】Re:comboboxに配列を渡す UO3 12/1/1(日) 15:47 回答
【70804】Re:comboboxに配列を渡す UO3 12/1/1(日) 16:03 発言
【70829】Re:comboboxに配列を渡す kanabun 12/1/4(水) 10:46 発言

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