• ベストアンサー

コードの一部がよく解かりません。

下記>部分の使い方がよくわかりませんので教えて下さいませ。 なくても動作しますが、 ありますと ↓ 「実行時エラー'9' インデックスが有効範囲にありません。」 となりますので、>部分も使用して正常に動作するには、どのようにすればよろしいでしょうか? よろしくお願い致します。 ------------------ Sub ワークシートの追加() ' 新規シート1枚を追加 ' Sheets.Add after:=Worksheets(Worksheets.Count), Count:=1 MsgBox "ワークシートの最後の後ろに1枚のシートを追加しました。" > Sheets("ワークシート").Select End Sub ------------------

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>1、この部分の文字がいけないんでしょうか? そのブックには「ワークシート」という名前のシートはありますか? 無い場合は確実にエラーになります。 >2、また、この一行(>)は重要な役割があるのでしょうか? プログラムの内容によって違います。 新しいシートを追加すると、追加されたシートがアクティブになります。 別のシートをアクティブ(何らかの操作の対象)にしたい場合は、該当のコマンドが必要になります。

oshietecho-dai
質問者

お礼

納得致しました。 「ワークシート」という名前のシートはありませんでした。 どうも有難うございました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 >>部分も使用して正常に動作するには、どのようにすればよろしいでしょうか? > Sheets("ワークシート").Select それは無理ですね。そんなシート名なんてありませんからね。 このようにすれば可能ですが。 Sheets.Add after:=Worksheets(Worksheets.Count) MsgBox "ワークシートの最後の後ろに1枚のシートを追加しました。" Sheets(Worksheets.Count).Select "ワークシート"っていうのが、一意なら、 Worksheets(Worksheets.Count).Name = "ワークシート" を加えればよいですが、もし、そうなら、一回きりです。

oshietecho-dai
質問者

お礼

早速のご回答どうも有難うございました。 ご説明が、非常によくわかりました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Sheets("ワークシート").Activate Select の場合使い方によっては失敗するので、 Activate にしてください。

oshietecho-dai
質問者

補足

早速、どうも有難うございます。 実行して見ましたが、結果が同じですが、 "ワークシート" 1、この部分の文字がいけないんでしょうか? 2、また、この一行(>)は重要な役割があるのでしょうか? よろしくお願い致します。

関連するQ&A