- ベストアンサー
エクセルのシートのコピーについて
お願いします。教えてください。 エクセルのシートを同じブック内に100シート以上コピーするにはどうしたらいいでしょうか? 1シートづつなら出来るのですが、複数する方法がわかりません。 それと、そのコピーしたシートの名前をNo.1・2・3・・・と番号を自動で付けることできませんか? エクセル2000です。 よろしくご伝授ください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
マクロだと簡単です。 No.1 というシート名のシートが1枚だけあるブックとして Sub sheetcopy() Dim i As Integer For i = 2 To 100 Worksheets("No.1").Copy after:=Worksheets(Worksheets.Count) ActiveSheet.Name = "No." & i Next i End Sub で出来ます。 エラー処理をしてないので、2回実行した場合や No.2~100 というシート名が既にあるとエラーになります。
その他の回答 (4)
- Hageoyadi
- ベストアンサー率40% (3145/7860)
#2です。 >#4さん。 おお、ホントだ。さすが。 説明不足でした。 #2では一番最初に「シート」という名前のシートのみにしておかないといけません。 デフォルトで作られている「sheet2」「sheet3」は削除しておいてください。
お礼
ありがとうございます。 この方法も、今試してみました。上手く出来ました! マクロは感動的ですが、明日会社で作成するとなると、自信がない・・・デス。 私にはこの方法があっているかも。。。。?
- imogasi
- ベストアンサー率27% (4737/17069)
#1、#2の回答を救う方法。 (1)下記の’Aの3行を削除して実行する。 名前がN01・・・NO100になります。 (2)#3とは少し違う別回答は、下記の’Aの3行を活かして実行してください。 Sub test02() For i = 1 To 100 'A Worksheets.Add 'A Next i 'A Dim sh As Worksheet i = 1 For Each sh In Worksheets sh.Name = "no" & i i = i + 1 Next End Sub 注意事項は、#3のご回答の終わりに記されたとおりです。
お礼
ありがとうございます! マクロ、使った事無かったので、いろいろ試していました。 でも、マクロを知ると、感動物です! あ!という間に希望のシートが完成しました! うれしいです!
- Hageoyadi
- ベストアンサー率40% (3145/7860)
1回目シート名「シート」をコピー 2回目出来上がった「シート(2)」をコピー 3回目出来上がった「シート(3)」とさっきの「シート(2)」をいっしょに選択してコピー こうするとシート名が連番になります。 9回目にシート(100)を超えるはず・・・ マクロなら、識者にお任せします。
補足
回答ありがとうございます。 今試みてたのですが・・・ 3回目のシート(3)とシート(2)をいっしょに選択してコピーですが、うまく連番になりません。 シート4(2)シート5(2)になってしまいます。 シートの2つを選択してコピーの方法をもう一度教えてくれませんか?
- shy00
- ベストアンサー率34% (2081/5977)
シートのタブとCtrlキーを押しつつドラッグ そうするとシートごとコピー出来ます また、数枚コピー出来たら、複数シートを選択し、Ctrlキーと一緒にドラッグ これで、少しは早くコピー可能です シート名は・・・No.(1)であれば、連続してくれるんですが・・・
お礼
ありがとうございます。 一度試してみます。
お礼
か、感動です! 初めてマクロを使ってみました! あんなに悩んだ事が、一瞬のうちに出来ました! うれしいです。ありがとうございました!