No.1ベストアンサー
- 回答日時:
> 同じテーブルに連結されているリストボックス
とのことですが、ご質問のケースでは、必要な情報はリストボックスの値集合
ソース(RowSource)が同じかどうかだと思います。
(例えば、一方のRowSourceがTableA、他方のRowSourceがTableAを元に
並べ替えだけ行ったQueryA、といった場合は、Selectedプロパティでは
対応できないと思いますので・・・)
ですので、とりあえず、
・2つのリストボックスのRowSourceは共通
・1画面目の名前は「MF1」、2画面目は「MF2」
・1画面目のリストボックスは「LB1」、2画面目は「LB2」
・2画面目をアクティブにした時点で、1画面目での選択を反映
という前提で回答させて戴きます。
Private Sub Form_Activate()
On Error GoTo エラー処理
Dim FName As String, CName(1 To 2) As String
Dim Frm As Form, Cntl(1 To 2) As Control
Dim ItmCnt As Integer, i As Integer
'以下の3つの変数への代入値を、実際のフォーム名・コントロール名に
'してやれば、他の部分のコードは変更不要(のはず・・・)
FName = "MF1" '1画面目のフォーム名
CName(1) = "LB1" '1画面目のリストボックス名
CName(2) = "LB2" '2画面目のリストボックス名
Set Frm = Forms(FName)
Set Cntl(1) = Frm.Controls(CName(1))
Set Cntl(2) = Me.Controls(CName(2))
ItmCnt = Cntl(1).ListCount - 1
For i = 0 To ItmCnt
Cntl(2).Selected(i) = Cntl(1).Selected(i)
Next
終了処理:
Set Frm = Nothing
Set Cntl(1) = Nothing
Set Cntl(2) = Nothing
Exit Sub
エラー処理:
MsgBox Err & ":" & Error$, , Me.Name & " Activate"
Resume 終了処理
End Sub
以上のコードを2画面目のフォームの「アクティブ時」のイベントに記述して
やれば、2画面目に切り替えたときに、1画面目での選択が反映されると
思います。
・・・ようするに、Selectedプロパティは参照・編集とも可能なので、片っ端
からベタで代入してしまいました、というわけです(汗)
なので、このやり方だと、2画面側がアクティブになる際には必ず1画面目も
開かれている必要があります。
1画面目を閉じたいようでしたら、
a)配列変数に一旦記録してから2画面目で書き戻してやるか、
b)2画面目でのコード記述場所を「開くとき(Open)」にして、「For ~ Next」を
終えた後に2画面目側から1画面目を閉じてやるようにする、
といったような変更をして下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- その他(趣味・アウトドア・車) DVDの再生話が選択できません!! 2 2022/09/08 00:50
- その他(Microsoft Office) Microsoft Edgeの「関心のあるカテゴリ」を表示させるには。 1 2023/03/16 18:05
- JavaScript HTML,JS初心者です。 2つのselectボックスが有り その選択の組み合わせにより 指定した文 3 2022/03/31 23:35
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Excel(エクセル) ログインIDの一発入力? 5 2023/07/07 12:30
- HTML・CSS HTMLのフォームについてお尋ねします 1 2022/12/03 21:47
- メルカリ 「メルカリ」相手からのコンビニ払いがされたか不明の状態でゆうパケットポストで発送してしまいました。 1 2023/01/17 21:13
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessの画面更新を一時的に停...
-
エクセルVBAで画面の大きさを取...
-
Media Player のスクリーンショ...
-
プレビュー画面にツールバーを...
-
VBAで特定のテキストボックスを...
-
チャレンジタッチの画面にスマ...
-
Q&Aフォームを作成したいのです...
-
VBAでこれってどういう意味でし...
-
c# 文字列の最後から1文字削除...
-
コネクション・セッション・ト...
-
ブラウザの×(閉じる)ボタンの...
-
DataGridViewのチェックボック...
-
複数選択のListBoxでClickイベ...
-
ページングが大量発生する原因...
-
HTMLボタンの文字色を変え...
-
ACCESS2010 WEBブラウザーコン...
-
Webブラウザの閉じるボタン無効...
-
コンピュータへの接続数が最大...
-
getParameterで値が取得できず...
-
PHPからWindowsログインユーザ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessの画面更新を一時的に停...
-
Q&Aフォームを作成したいのです...
-
エクセルVBAで画面の大きさを取...
-
VBAで特定のテキストボックスを...
-
VBAでこれってどういう意味でし...
-
コマンドプロンプトの×ボタン押...
-
Google Chromeのホーム画面につ...
-
お礼の仕方について
-
Media Player のスクリーンショ...
-
acronis partition expert le ...
-
Firefox HTML Documentを開く際
-
システム開発の工数と費用について
-
最近OKWAVEの画面が変わりまし...
-
メール画面について
-
dos画面が一瞬立ち上がる
-
学生職業総合支援センターについて
-
マクロ実行途中の画面を出さな...
-
エクセルで作った住所録を、住...
-
Excel2003 マクロ 画面をA1を...
-
モーグルフォーム?
おすすめ情報