• 締切済み

Excel 違うBookのシートをコピーする

Excelでわからないことがあり質問させていただきました。 原紙のBookに 資料のBookのシートをコピーさせたいのですが 資料Bookには シートが sheet1~sheet50まであり 原紙のBookにマクロのボタンやフォームを作成し 毎回資料のBookの違うシート名を選択しコピーをさせることは可能なのでしょうか? たとえば 原紙のシートに入力フォームを作り sheet名を入力 → 「コピー」のボタンを押すとコピーができる。 といった感じに・・・ フォームでなくてもリストなんかでもいいのですが・・・

みんなの回答

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.2

ANo.1です。 ANo.1の例ではシート名は文字列"sheet1"で指定していますよね。 この部分は文字列変数でもセル参照でもかまわないわけです。 例えば  Cells(1,1).Text とすれば原紙シートのA1セルに書き込まれた文字列を参照します。 もちろんフォームで入力した文字列を文字列変数に取得して使っても良いです。

komarinosuke
質問者

お礼

セルに入れた文字列を参照させればいいんですね。 頑張ってやってみます! 丁寧な説明ありがとうございました。

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

以下の何れかでOK。  コピー元ワークシート.Copy Before:=コピー先ブックのワークシート  コピー元ワークシート.Copy After:=コピー先ブックのワークシート 前者だとコピー先ワークブックの前の位置に、後者だと後の位置にコピーが挿入されます。 # マイクロソフトのマニュアルページ http://msdn.microsoft.com/ja-jp/library/office/ff837784.aspx マクロで書くときは、ワークシートを指定するときにブックを明示して指定すればよろしい。 資料ブック("資料.xls")を開いていて、原紙ブックのシート上からマクロを動かして 資料ブックの"sheet1"を現在のシートの後にコピーするなら  Worksbooks("資料.xls").Worksheets("sheet1").Copy After:=ActiveSheet といった感じ。

komarinosuke
質問者

お礼

ありがとうございます。 この回答だと違うシートをコピーしたい場合、シート名を書き換えないといけないですよね? そうではなく今回は使う人が何度教えてもシートのコピーが出来ないので、シートだけ選択できればどのシートでもコピーできるようにしたいのです

関連するQ&A