• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2002のVBAでワークシートの挿入で疑問)

Excel2002のVBAでワークシートの挿入で疑問

このQ&Aのポイント
  • VBAを使ってExcel2002でワークシートを挿入する方法について疑問があります。
  • 上記のVBAコードを使ってワークシートを挿入すると、ワークシートが11枚になってしまいます。
  • 勉強したばかりで理由がわからないので、どこが間違っているのか教えていただけませんか?

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

  • ベストアンサー
  • komkoma
  • ベストアンサー率33% (7/21)
回答No.2

Sub シート() Dim i As Integer i = Worksheets.Count Do Until i = 10   Sheets.Add   i = i + 1 Loop End Sub これではどうでしょうか?もっとスマートな方法があるかもしれませんが・・・。

omusupa
質問者

お礼

ありがとうございます。 Do Until~Loop はちょうど勉強していたところでしたので、とっても役に立ちました。 本当にありがとうございました。

その他の回答 (2)

  • komkoma
  • ベストアンサー率33% (7/21)
回答No.3

たびたびすみません。下記のような方法もありますね。 Sub シート() Dim a As Integer a = 10 - Worksheets.Count Sheets.Add Count:=a End Sub

omusupa
質問者

お礼

Count:=a がまだ理解できていないようですので、勉強しなおします。 本当にありがとうございました。

  • komkoma
  • ベストアンサー率33% (7/21)
回答No.1

For i = Worksheets.Count To 10 Step 1では、iが10になった直後に、もう一度Sheets.addを実行してしまうからですね。

omusupa
質問者

補足

なるほどわかりました。 では、10という数字を使って、記述するにはどのようにすればよいでしょうか? お手数ですが、教えていただけませんか?よろしくお願いいたします。

関連するQ&A