• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel、マクロについて教えてください。)

Excelマクロでシートを追加して名前を変更する方法とは?

このQ&Aのポイント
  • Excelのマクロを使ってシートを追加し、名前を変更する方法について教えてください。
  • Excelを長く使用するとシート名の数字が増えてしまい、マクロが正常に動作しないことがあります。sheet1で追加する方法や、複数のシートで動作するマクロのコードはあるのでしょうか?
  • 初心者のため質問が下手かもしれませんが、Excelのマクロでシートを追加して名前を変更する方法について教えてください。

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

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

>excelのシートを追加した際に必ずsheet1で追加する方法、 同名のシートの存在は許可されない(エラーになる)ので、シート名の付け方に関して何らかの存在規則に従ってシート名を付ける必要があります。 Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "NewSheet" などとして、シート追加後にシート名を設定する事もできます。 >最近マクロをやり始めた初心者なので >sheet2でもsheet3でも動作するようなコードは存在しますか? 一般的な回答になってしまいますが・・・。 記録マクロでは解決できない問題ですから、プログラミングに関しての知識を身につけないと、現場の問題を回避することはできません。

tsuchiyt
質問者

お礼

素早い御回答ありがとうございました。 今回、教えて頂いたコードを使用させて頂き無事解決しました。 また指摘されたプログラミングの知識は皆無なので、これを気に色々勉強していこうと思います。 重ねて御礼を申し上げます。ありがとうございました。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

SHEET1を処理するのではなくシート1番目を処理する、と考えたロジックにするとシート名の影響は少なくなります。 SHEETS(2).SELECTはシート2番目を選ぶ意。

tsuchiyt
質問者

お礼

素早い御回答ありがとうございます。 教えて頂いたコードをどこにいれて良いのかわからなかったので、 今回は使用を断念しました。 もう少しマクロ(プログラミング)に詳しくなったら使用させて頂きます。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>excelのシートを追加した際に必ずsheet1で追加する方法、 Worksheets.Add.Name = "Sheet1" 既にSheet1が有るとエラーになりますので >sheet1の名前を変更だったがsheet2でもsheet3でも動作するようなコードは存在しますか? 追加したシートを変数(NewWS)格納して操作する Dim NewWS As Worksheet Set NewWS = Worksheets.Add NewWS.Range("A1").Value = "テスト" またはシート名に関係なくアクティブなシートを操作 Activesheet.Range("A1").Value = "テスト"

tsuchiyt
質問者

お礼

素早い御回答ありがとうございました。 回答頂いたコードに見慣れないコードがあった為、 今回は使用を控えさせて頂きました。 もう少し自身のスキルがアップした時に使用したいと思います。