- ベストアンサー
Excelでのウィンドウの操作方法について
VBAについての質問です。スタートメニューから、Excelを2回立ち上げたとき、一方のExcelからもう一方のExcelを選択する方法が分かりません。その記述方法を教えてください。宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ANo2のものですが。 目的が、 >一方のExcelから、もう一方を見ながらコマンドボタンを使いデータを入力すること等です。 ならば、 >スタートメニューから、Excelを2回立ち上げたとき でなく、 スタートメニューから、Excelを1回立ち上げ、2個のファイルを開く、か、Explororから2個のファイルをクリックして開く、かをしないとANo2に書いたようになってしまいます。 こちらの操作はあくまで、Excelを1回立ち上げ、そのExcel上に2個のファイルを開いています。 スタートメニューから、Excelを2回立ち上げるとExcelを2回立ち上げそれぞれのExcelで それぞれ1個のファイルを開いているのでまったく異なる状態です。 後者なら、マクロの記録ボタンを押してから、 ウィンドウの並べて比較を選べば、2ファイルが並んで出ますし、それぞれのファイルの特定セルを クリックしてあげたらそれぞれの指定方法もマクロに記録されています。 Windows.CompareSideBySideWith "Book200:1" Windows("Book200.xls:1").Activate Windows("Book200.xls:2").Activate とかいった命令がでてくるはずです。 他にANo1の方が書かれているような方法もあります。
その他の回答 (2)
- Siegrune
- ベストアンサー率35% (316/895)
簡単には、無理です。 別のプロセスで立ち上がっているので、 まったく独立したアプリケーション相互での受け渡しの扱いを受けます。 DDLを使ってプロセスIDを調べてそのWindowをアクティブにするとか、 クリップボード経由のコピー&ペーストとかはできなくはないですが、 普通にExcelを1個起動して、その中でBookを2個起動するのと 同じようなことをしようと思っているなら無理です。 (大変苦労すれば、できるかもしれませんがまあ意味はないと思いますが。) >一方のExcelからもう一方のExcelを選択する の内容が具体的にどういったことか教えてもらえますか?
お礼
ご解答ありがとうございます。 一方のExcelから、もう一方を見ながらコマンドボタンを使いデータを入力すること等です。 Excelを1個起動し、タスクバーで双方ののウィンドウを切り替える手間を無くすためにも、そう考えたのですが。
- soixante
- ベストアンサー率32% (401/1245)
2回立ち上げたとき、ということですが、ブックを二つ開いた、という意味であれば、 以下はどうでしょうか。 現在ブックを Wb1 とし、そこから新規ブックを立ち上げて Wb2 とする。 新規ブック立ち上げ時には、それがアクティブになっています。 Sub aaa() Dim Wb1 As Workbook, Wb2 As Workbook Set Wb1 = ActiveWorkbook Set Wb2 = Workbooks.Add 必要処理 Set Wb1 = Nothing Set Wb2 = Nothing End Sub
お礼
ご解答ありがとうございます。
お礼
ご回答ありがとうございます。 双方のBookを比較することができ、データの入力も容易に出来るようになりました。