dポイントプレゼントキャンペーン実施中!

Excelでわからないことがあり質問させていただきました。
原紙のBookに 資料のBookのシートをコピーさせたいのですが

資料Bookには シートが sheet1~sheet50まであり

原紙のBookにマクロのボタンやフォームを作成し
毎回資料のBookの違うシート名を選択しコピーをさせることは可能なのでしょうか?

たとえば 原紙のシートに入力フォームを作り sheet名を入力 → 「コピー」のボタンを押すとコピーができる。

といった感じに・・・

フォームでなくてもリストなんかでもいいのですが・・・

A 回答 (2件)

ANo.1です。


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

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

お礼日時:2013/10/26 21:37

以下の何れかでOK。


 コピー元ワークシート.Copy Before:=コピー先ブックのワークシート
 コピー元ワークシート.Copy After:=コピー先ブックのワークシート
前者だとコピー先ワークブックの前の位置に、後者だと後の位置にコピーが挿入されます。
# マイクロソフトのマニュアルページ http://msdn.microsoft.com/ja-jp/library/office/f …

マクロで書くときは、ワークシートを指定するときにブックを明示して指定すればよろしい。
資料ブック("資料.xls")を開いていて、原紙ブックのシート上からマクロを動かして
資料ブックの"sheet1"を現在のシートの後にコピーするなら
 Worksbooks("資料.xls").Worksheets("sheet1").Copy After:=ActiveSheet
といった感じ。
    • good
    • 0
この回答へのお礼

ありがとうございます。

この回答だと違うシートをコピーしたい場合、シート名を書き換えないといけないですよね?

そうではなく今回は使う人が何度教えてもシートのコピーが出来ないので、シートだけ選択できればどのシートでもコピーできるようにしたいのです

お礼日時:2013/10/26 14:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!