• ベストアンサー

エクセルVBAにてワークシートの挿入

エクセルで作った『ひな型』のシートを同じワークブック内に、 1号,2号,3号・・・と挿入したいのですが VBAの初心者につきさっぱりわからないので 誰かアドバイスください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#123709
noname#123709
回答No.6

#1です。 >初心者なのですみません。 全てこの言葉で逃げられても困るのですが・・・。 >既存のシートが「雛型」「1号」の場合 私の提示した条件にあってますか? とりあえず、シートを雛型のみにして、それをコピーしてシートの最後にもっていき、シート名を「1号」としておきます。 それから実行して下さい。

Mont-Vento
質問者

お礼

ありがとうございました。 思ったとおりにできました。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.5

50シートをいちどに作れればいいということですか?それでしたら、シート「ひな形」を一番左側に置いてください。 で、 Sub test01() For i = 1 To 50 Sheets("ひな型").Copy After:=Sheets(i) Sheets(i + 1).Name = i & "号" Next End Sub

すると、全ての回答が全文表示されます。
noname#123709
noname#123709
回答No.4

#1です。 既存のシートが「雛型」「1号」の場合 実行する度にシートが追加されます。 Sub test() Sheets("雛型").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Left(Sheets(Sheets.Count - 1).Name, _ Len(Sheets(Sheets.Count - 1).Name) - 1) + 1 & "号" End Sub

Mont-Vento
質問者

補足

先ほどので実行するとシートの挿入はできますが、 『型が一致しません』というエラーが出ます。 あと、『ひな型(2)』、『ひな型(3)』… という風に挿入されるので 1号、2号… という風になりませんか? *初心者なのですみません。

すると、全ての回答が全文表示されます。
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

Sub WsCOPY53() Dim i As Integer For i = 1 To 53 Sheets("ひな形").Copy After:=Sheets(Worksheets.count) ActiveSheet.Name = i & "号" Next End Sub

Mont-Vento
質問者

補足

『実行時エラー`9` インデックスが有効範囲にありません。』 と出てエラーになりますが、どうしたらよいのでしょうか?

すると、全ての回答が全文表示されます。
  • toshi_ho
  • ベストアンサー率42% (71/168)
回答No.2

以下でどうでしょう。(これをシートの数だけ繰り返せばOK) Sheets("ひな型").Copy Before:=Sheets(1) Sheets(1).Name="1号" Sheets("ひな型").Copy Before:=Sheets(1) Sheets(1).Name="2号" 以下同様

Mont-Vento
質問者

補足

週1回に1枚追加で1年分を作ろうと思っているので、 約50枚になってしまうので、『変数』を使ってできないかな と思っておりますが、いいアイディアないですか?

すると、全ての回答が全文表示されます。
noname#123709
noname#123709
回答No.1

この質問ではサッパリわかりません。 どのタイミングでどれだけの枚数とか、詳しく説明して下さい。 VBAが使えないのであれば、雛型のシートをコピーして使えばよろしいのでは?

Mont-Vento
質問者

補足

週1回につき1枚追加したいのですが、(1年分で約50枚ぐらいかな) 良い方法はないですか? (コピーしてシート名を変えるのが面倒なので・・・)

すると、全ての回答が全文表示されます。

関連するQ&A