• ベストアンサー

マクロのコントロールの移動について

マクロのコントロールの移動について メインフォームに一つのサブフォームを配置しております。 メインフォームのコントロールにあるフォーカスをサブフォームのコントロールにフォーカスを移す方法をマクロで行う場合はどのように書けばよろしいでしょうか。 又、その逆(サブフォームからメインフォームへフォーカスの移動)の書き方もよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

マクロで出来るのかわかりませんが、 このような場合はVBAで行なうのが 普通だと思いますが。 たとえば、何かのボタンクリックなどで、 Private Sub ボタン0_Click() Me!サブフォームコントロール名.SetFocus End Sub あるいは、標準モジュールに Sub MainToSub() Forms!メインフォーム名!サブフォームコントロール名.SetFocus End Sub を貼り付け保存します。 何かのときに MainToSub を呼び出せばマクロのように実行されます。 たとえば、最初のボタンクリックを以下のように Private Sub ボタン0_Click() MainToSub End Sub としてもいいですし、マクロと同様に他で使えます。 ただし、フォームが開かれているかのエラー処理は していません。必要ならば入れますが。 この場合、サブフォームコントロール名は サブフォームの名前ではなく、サブフォームを 表示するメインフォームのコントロール名で、 初期値では埋め込み0のような名前になっています。 デザインビューでサブフォームを表示している コントロールの端で右クリックしてコントロールの 名前を確認して変更してください。

nzmsys
質問者

お礼

早速ご回答を頂きまして誠にありがとうございました。 ご回答のVBAをどこまで理解できるかどうかわかりませんが具体的に書いてありますので調べながらでも勉強はできそうです。使用できるように頑張りますので今後ともご教授方よろしくお願い申しあげます。どうもありがとうございました。

関連するQ&A