• ベストアンサー

VBSでExcelシートのコピー

VBSである決まったExcelシートを別なExcelファイルにシートコピーできる方法はないですか? やりたいことは、Excelファイル「A.xls」内の「Sheet1」というシートをExcelファイル「B.xls」の一番末尾に「Sheet1」をコピーする、です。 (Excelのシート名上で右クリック→「移動またはコピー」→移動先ブック名を選択→「末尾へ移動」、「コピーを作成」にチェック、と同じことをVBS上で行いたいのですが。)

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

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

こんな感じでしょうか? Dim strFileDst Dim strFileSrc Dim strCopySheet strFileDst = "C:\book1.xls" 'コピーする方 strFileSrc = "C:\book2.xls" 'コピーされる方 strCopySheet = "Sheet1" 'コピーする方のシート名 Call CopyExec Sub CopyExec() Dim objXls Dim objBookDst Dim objBookSrc Set objXls = CreateObject("Excel.Application") Set objBookDst = objXls.Workbooks.Open(strFileDst) Set objBookSrc = objXls.Workbooks.Open(strFileSrc) Call objBookDst.Sheets(strCopySheet).Copy(,objBookSrc.Sheets(objBookSrc.Sheets.Count)) objBookDst.Close False objBookSrc.Close True objBookDst.Close objBookSrc.Close objXls.Quit Set objXls = Nothing End Sub

primego
質問者

お礼

できました。ありがとうございました。

関連するQ&A

  • Excel2007 ブック間でのシートコピー

    Excel2007を使っています。 ブックABCのシート1を、ブックEFGにコピーしたいのですが・・・ コピーしたいシート名(画面下のタブ)を右クリックし、「移動またはコピー」をクリック、「移動先ブック名」でブックEFGを選択したいのですが、「新しいブック」しか選択できません。 新しいブックにコピーしても、それをブックEFGで取り込めれば いいのですが、何か方法はないでしょうか? よろしくお願いします。

  • エクセル2007のシートコピーについて

    こんにちは。 エクセル2007で、同一のブック内にあるシートを、右クリックし、移動先ブック名を新しいブックにし、コピーするにチェックを入れたところ、あるシートはコピー出来て、あるシートはコピーできないという症状が出ました。 原因は何でしょうか?解決策ご存知の方がいましたら教えてください。

  • Office2010 ベータ版 Excel間のシートのコピー

    Office2010 ベータ版 Excel間のシートのコピー Excel2010を試用しています。 AとBのブックを開いて、Aのシートを右クリック→移動またはコピー→移動先ブック名を 選択しても、開いているBのブック名が表示されません。 AとBの保存形式を「マクロ有効ブック」「Excelブック」「Excel97-2003ブック」と同じ 形式に保存し直して試しても状況は変わりませんでした。 どなたか解決策をご存じでしたら教えてください。 よろしくお願いします。

  • vbsでExcelのシートをコピーするには

    vbsでExcelのシートをコピーすることができず、困っています。 雛形のAファイル(Excel)のシートを別のBファイル(Excel)にコピーしたいのですが、 下記コーディングでは、「実行時エラー この変数は宣言されていません。: 'before'」となります。 xlsSheet.Copy before:=xlsBook2.Worksheets("Sheet1") Excelのマクロに記載して、Excelのコマンドボタンから呼び出すなどすれば動くのですが、 ハンディ端末のサーバ側アプリがvbsで、vbsから行いたいのです。 vbsでExcelファイルのシートをコピーすることはできないのでしょうか。 ご存知の方、ご教授いただければ幸いです。

  • Excel2013 シートのコピーができない

    シート名タブにて右クリックすると「シートの移動またはコピー」のコマンドがgrayのままです。ほかのブックでは問題無いのに、このブックで発生しております。 どこに問題があるのでしょうか、シートの保護が問題かと思い、「校閲-シート保護の解除」をCheckするとパスワードの入力を求められます。パスワードを設定していませんので、入力できません。 シートのコピーをしたいのです、方法をご教授願えませんでしょうか。

  • エクセルのシートコピーのエラー

    Windows7 エクセル2007です。 ブック間のシートコピーでエラー発生し挿入できません。原因と挿入方法お願いします。 エラーメッセージ; ------------------------------- 移動先またはコピー先のブックの行列数が元のブックの行数列よりも少ないため、シートを移動先またはコピー先のブックに挿入されません。 データを別のブックに移動またはコピーするにはデータを選択して、「コピー」コマンドと「貼りつけ」コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。 ----------------------------------- やりたいこと; ファイル名AAAの一つのシートをファイル名BBBのシート末尾にコピーしたい。

  • Excelのシートコピーについて

    excelの質問になります。下記の現象が発生していて困っています。お教え願います。 清算書と請求書を開いていて、清算書のシート1を請求書にシート毎コピーする際に、清算書のシート1で右クリックして「移動またはコピー」を選択する。その際に移動先ブック名には「新しいブック・清算書・請求書」のブック名が表示されるはずなのですが、「新しいブック」しか表示しません。 特に設定変更した覚えがなく困っています。 お教え願います。

  • Excel VBA別ブックのシートをコピーするには

    Excel2010のVBAで別ブックのシートをコピーしてくる方法 Excelファイル(C:\test\BOOK2.xls)のシート名が TESTというシートを自分のExcelファイル(C:\doc\BOOK1.xls)に コピーするにはどのように記述すればよいのでしょうか。 ・コピー先:自分のExcelファイル(C:\doc\BOOK1.xls)  VBAのコードがあるファイルです ・コピー元:C:\test\BOOK2.xlsのTESTシート  なお、TESTシートを持つ同じ名前(BOOK2.xls)のファイルが  別フォルダにもあります   Workbooks( )の引数にファイル名(BOOK2.xls)は指定できるのですが、 フルパス名(C:\test\BOOK2.xls)で指定できないので困っています。

  • EXCEL2007でシートをコピーすると、オブジェクトの大きさが変わってしまいます。

    エクセル初心者です。過去に同じような質問がありましたら申し訳ありません。 WindowsVista・EXCEL2007を使用しています。 「.xls」で作成したエクセルデータのシートをコピー・移動すると 元シートに貼り付けてあったオブジェクトが大きくなってしまいます。 これは何が原因で、どうしたら大きさが変わらずコピーすることができるでしょうか?

  • 別ブックへのシートのコピー(Excel)

    エクセル上で、Aというブックのaというシートを、Bというブックにコピーしようと思っています。 過去の質問を検索したらNo2459324でわかりやすい解答があったので試してみたのですが、 AとBのブックを画面上で両方開いて、Aブックのaシート上で、「編集」→「シートの移動またはコピー」とすると、確かに小さな入力ボックスがでてくるのですが、その中の「移動先ブック名」の欄にBというブック名が表示されないので、選択先としてBブックを指定できないのです(その欄にブック名の手入力もできません)。 「(新しいブック)」を選択すると、AでもBでもない新しいブックが生成されてそちらにコピーされてしまうようです。 どのようにしたらブックAからブックBにシートをコピーできるでしょうか。