2017-12-07 8 views
0

セルの値に基づいてN枚のテンプレートシートを生成するマクロを作成します。例えば、ユーザはこの特定のセルに4を入力し、続いてこのテンプレートのブックに4枚の新しいシートを生成する。Excel VBA:Cel値に基づいてN枚のシートを生成

私はStack Overflowを使ってすべてを検索しましたが、私と一致する質問はありませんが、何もしません。私が見つけた最も近いものはthisであり、initalの見出しの質問は一般的に同じ質問をしていますが、詳しく尋ねたユーザーは質問を「セルの値に基づいてセルの数を挿入する」ように変更します。それでも私はこれを出発点として使用しました。

Sub CreateSheets() 
    Dim facilitiesNum As Integer 

    facilitiesNum = Range("B2").Value 

    sheetsNeeded = facilitiesNum 
    With ThisWorkbook.Sheets 

    For i = sheetsNeeded To Master.Range("B2").Value2 
    .Item("TemplateSheet").Copy After:=.Item(.Count) 
    .Item(.Count).Name = sheetsNeeded 
    Next 
    End With 
End Sub 

私はので、私は非常に構文ワイズオフすることができVBAに新しいですが、擬似コードで私の目標は、私はこれをやって行くにはどうすればよい

 numberOfTemplates = cell value 
     numSheetsNeeded = numberOfTemplates 

    For i = numSheetsNeeded To NumOfTemp: 
    create sheets using numSheetsNeeded as reference for how many need to be 
    generated 

のですか?

+0

に十分であるべき新しいシートを追加したい場合は、 'sheetsNeeded'をコードで変更されていない場合まあ、' sheetsNeeded = facilitiesNum'の目的は何ですか?代わりに 'facilitiesNum'を使う方が簡単だろうか? – JohnyL

答えて

2

あなただけの、これは

Sub CreateSheets() 

    Dim facilitiesNum As Long 

    facilitiesNum = Range("B2").Value 

    With ThisWorkbook.Sheets 
     For i = 1 To facilitiesNum 
      .Item("TemplateSheet").Copy After:=.Item(.Count) 
      .Item(.Count).Name = i 
     Next i 
    End With 
end sub 
関連する問題