- ベストアンサー
シートをコピーして シートに1から連番をふる
(マスター)というシートがありまして、そのシートをコピーしてシート名に1からの連番をふる マクロをお教え下さい。 Sub sub_CopySample() Dim myLooP As Integer For myLooP = 1 To 10 Sheets("マスター").Copy After:=Sheets(myLooP) Next myLooP For myLooP = 1 To 10 Sheets(myLooP + 1).Name = myLooP Next myLooP End Sub これだと止まりません。 1シートづつ増やしたいのですが。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>1シートづつ増やしたいのですが。 マクロを実行するごとに1シート増やしたいという事でしょうか。 ブックにマスターというシートしかない(1番のシートを増やす時だけ)が前提ですが Sub Macro1() myNumber = Worksheets.Count Sheets("マスター").Copy After:=Worksheets(Worksheets.Count) ActiveSheet.Name = myNumber End Sub
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
>1シートづつ増やしたいのですが。 こういうことを言いたかったのですか。 sub macro2() dim i i = 1 worksheets("マスター").copy after:=worksheets(worksheets.count) on error goto errhandle activesheet.name = i exit sub errhandle: i = i + 1 resume end sub
- LHS07
- ベストアンサー率22% (510/2221)
im myLooP As Integer For myLooP = 1 To 10 Sheets("sheet1").Copy After:=Sheets(myLooP) Stop Next myLooP For myLooP = 1 To 10 Sheets(myLooP + 1).Name = myLooP Next myLooP End Sub Stopを入れればそこで止まりますが。
- keithin
- ベストアンサー率66% (5278/7941)
はて? sub macro1() dim i as integer for i = 1 to 10 ’常にマスターからコピーする。複写シートに名前を付ける。 worksheets("マスター").copy after:=worksheets(worksheets.count) activesheet.name = i next i end sub といった事でしょうか。
お礼
有り難うございました。 今、マクロを勉強中なので、簡単な質問で失礼しました。