• 締切済み

VBAについて教えて下さい

VBAでBOOKを選択して選択したBOOKの開いたシートを作業中のBOOKにあるSheet3へコピーして開いたBOOKを閉じるプログラムを教えて下さい。

みんなの回答

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.1

' VBAでBOOKを選択して開く方法は,以下のページが詳しいです. ' http://officetanaka.net/excel/vba/file/file02.htm ' 開いた直後の BOOKは Activeになっているので,変数wbに代入する. Set wb = ActiveWorkbook ' 開いた直後のシートは Activeになっているので,変数shに代入する. Set sh = wb.ActiveSheet ' ActiveSheetの全てのセルをコピーする. sh.Cells.Copy ' Sheet3に貼り付ける. ThisWorkbook.Sheets("Sheet3").Cells.PasteSpecial ' 開いた BOOKを閉じる. wb.Close

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • excel vba

    テーブル情報に基づきシートをコピーするVBAマクロを記述したい。 ExcelのBook111のSheet1に次のような データが入っています。 (1、2)セルにn=3という数字が入っているものとします。 その数値に合わせて、この場合は3なので Sub Sample01() Workbooks("Book3.xls").Worksheets("booksheet3").Copy After:=Workbooks("Book111.xls").Sheet(1) End Sub のようなつまり、booksheet3なるシートをBook111(固定なBOOK)にコピーしようとしています。 このようなことをVBAで書くにはどうすればいいのでしょうか。 ただしBook名とシート名はあくまでデータの値にもとづいたデータをもってくることになります。 要するに間接参照したデータに基づき処理するのをどのように記述するかという質問です。 A列 B列 1 回数 n=3 2     3     4 Book1.xls book1sheet ←n=1 5 Book2.xls book2sheet ←n=2 6 Book3.xls book3sheet ←n=3 7 Book4.xls book4sheet 8 Book5.xls book5sheet 9 Book6.xls book6sheet ←n=6 10 Abc,xls Defsheet ←n=7

  • エクセル VBAで困っています

    エクセル VBA初心者です。プログラムの管理をしたいのですが。2つのブック(前月と当月)を比較して削除されたもの、追加されたもの変更されたものを調べたいのですが。Book1のSheet1のA列にプログラム名、B列にプログラムの変更日付があります。同様にBook2のSheet1のA列にプログラム名、B列にプログラムの変更日付があります。この二つのシートを比べてプログラムが増えたもの、減ったもの、変更日が変わったものの3点をBook3のSheetに書き出したいのですが。何卒宜しくお願いします。

  • エクセル VBA

    エクセル VBA初心者です。プログラムの管理をしたいのですが。2つのブック(前月と当月)を比較して削除されたもの、追加されたもの変更されたものを調べたいのですが。Book1のSheet1のA列にプログラム名、B列にプログラムの変更日付があります。同様にBook2のSheet1のA列にプログラム名、B列にプログラムの変更日付があります。この二つのシートを比べてプログラムが増えたもの、減ったもの、変更日が変わったものの3点をBook3のSheetに書き出したいのですが。何卒宜しくお願いします。

  • エクセル VBA? 関数?

    book1(データ入力用)とbook2(送信用)で作業します。 必ずbook1→book2の順番で開きます。 book1には1ヵ月の日数分のsheetがあり(約30sheet)、作業中のsheetのA1の日付を、book2を開いたときにbook2のB4に自動的に表示される様にしたいです。 関数でも可能であればOKですが、できればVBAの文章をおしえてください。Private Sub Worksheet_Activate()で可能でしょうか??? よろしくお願いします。

  • Excel VBAで他のブックを選択する方法を教えてください。

    こんにちは。VBA初心者です。 ブックを2つ開いた状態で、 マクロを保存してあるブック〔Book1〕から、 毎回ブック名が異なる[Book2]の選択されている2枚のシートを新しいブックに(仮Book3)コピーしたいのですが、どのように記述したらよいのでしょうか。(選択されるシートも毎回異なります。) 特に教えていただきたい部分は、 1.マクロが記録されているBOOK1以外のBookを操作する方法。 2.私以外の方が利用する為、Book1に保存したマクロから実行させる予定なのですが、Book1を毎回開いて実行させる方法がベストのやり方なのでしょうか。 マクロの記録では下記の感じになります。 Sub Macro4() Windows.Arrange ArrangeStyle:=xlVertical Windows("Book2.xls").Activate Sheets(Array("Sheet3", "Sheet4")).Select Sheets("Sheet4").Activate Sheets(Array("Sheet3", "Sheet4")).Copy End Sub 宜しくお願い致します。

  • EXCEL VBA プログラミング

    EXCEL VBAについて教えて下さい。 プログラミング超初心者です。 book1でマクロを実行し、ダイアログボックスを表示させて、任意のファイル(book2)を開き、book1のsheet1をまるごとbook 2の末尾にコピーするという処理をしたいのですが、うまくマクロが組めません。 ダイアログボックス表示→ファイルの選択まではいけたのですが、その先で苦戦しています。。 ご存知の方、マクロの組み方をご教示いただけますでしょうか。 よろしくお願い致します。

  • エクセル)VBAで他のブックのセル参照

    はじめまして。 エクセルのVBAについて教えてください。 VBAで、 book1のsheet1のセルA1にあるデータを開いていない(アクティブでない)別のbook2のsheet2のセルB1にコピーしたいのですがこんなことってできるのでしょうか? ・・やはり開いていないとダメなんでしょうか? あと、これって"ブック参照"っていうことなんでしょうか?自分がやりたいことが何なのか判らないので上手く調べる事が出来ず難儀しています。 よろしくお願いします。

  • 他のブックから任意のシートをコピーするVBA

    以下についてお手数ですがご教示いただけませんでしょうか。 【前提条件】  BOOK1.xlsとBOOK2.xlsが同じフォルダにあります。 【行いたいこと】  BOOK1.xlsで、  1.BOOK2.xlsを選んで、  2.BOOK2.xlsに存在するするシート名を選択させ、  3.選択したBOOK2.xlsの任意のシートをBOOK1.xlsにコピーする  

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3コピー元ワークシート3 という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3ワークシート という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。