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

Excelのシートコピーを複数つくるVBAを探しています。
Sheet1を10シートコピーする場合に方法はありますでしょうか?
本当は、それの名前もVBAで変更できればよいと考えているのですが、とりあえずシート名の変更は、以下のVBAでできました。

Sub シート名変更()
Const OrgSh = "Sheet2"
Dim Rw As Long
Dim Cnt As Integer
Sheets(OrgSh).Move Before:=Sheets(1)
For Cnt = 2 To Sheets.Count
Sheets(Cnt).Name = "Tentative" & Cnt
Next
For Cnt = 2 To Sheets.Count
Sheets(Cnt).Name = Cells(Cnt, 1).Value
Next
End Sub

なので、最初にシートをコピーして、名前を変更する、2段構えの覚悟はできています。
シートコピーのみでもよいので、だれか教えていただけませんか?

A 回答 (4件)

コピー元は「Sheet1」とし,複製は「test○○」のようだとすると



sub macro1()
 dim i as long
 dim n as long
 dim w as worksheet

’既にあるシート名を付けようとしてエラーで止まらないようにすること
 for each w in worksheets
 if w.name like "test*" then
 n = application.max(n, val(mid(w.name,5,9)))
 end if
 next

’シートを複製して正しい名前を付けること
 for i=n + 1 to n + 10
 worksheets("Sheet1").copy after:=worksheets(worksheets.count)
 activesheet.name = "test" & i
 next i
end sub


#デタラメをやっても動かないのは当然なので,ヘルプなどを良く読む習慣をまず身につける必要がありそうですね。
    • good
    • 0
この回答へのお礼

精進します
ありがとうございます。

お礼日時:2011/11/01 13:06

NO2です。


>Sheets("sheet1").Copy after:=Sheets(Sheets.Count), Count:=3 と作ったのですが動きませんでした
 ⇒VBAの学習不足です。
  VBAの知識もなくVBAを始める事は無理があります。
  先ずは、沢山あるVBA入門サイトか参考書の一つでも読破して下さい。
  一例の入門サイトを添付しましたので一度ご確認下さい。

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/
    • good
    • 0

>Excelのシートコピーを複数つくるVBAを探しています。


 ⇒コードコピーから始まっても良いが、そのコードの意味を咀嚼しないと駄目です。
  自分で作成してなんぼなのだから回答の丸映しはやめましょう。

ヒント例です。

Sheets("sheet1").Copy after:=Sheets(Sheets.Count) ‘シート1を最右端へコピー
ActiveSheet.Name = "シート名" ’コピーシート名前の変更
    • good
    • 0
この回答へのお礼

いろいろとご指導ご鞭撻のほどよろしくお願いします

例えば、3シート追加する場合は
Worksheets.Add After:=Worksheets("Sheet1"), Count:=3 ですよね

上記のヒントを利用して
Sheets("sheet1").Copy after:=Sheets(Sheets.Count), Count:=3 と作ったのですが動きませんでした。 

また、いろいろと勉強してみます。

お礼日時:2011/10/25 15:24

 初心者です。

 m(_ _)m
流れだけですが、マクロ記録開始にしてシートタブを選択してコピーします。
 1シートでも良いのですが、2~10シートコピーして、マクロを終了させます。

  ○シフトキーを押しながら2枚目のシートをクリックするとその間のシートも全て選択
   できます。
  ○コントロールキーを押しながらシートを選択すると、複数のシートを選択できます。
  ○右クリックで、【移動またはコピー】→【コピーの項目にチェックを入れる】→【OK】
    で瞬時にシートがコピーされて増えます。
    必要に応じてシート名を書き換えます。 
    
記述をボタンに記録します。

次回からはマクロボタンをクリック下だけで、コピーされたシートがマクロで
 バンバンできます。

マクロにしなくても、○印だけでも相当早いです。
    • good
    • 0

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