- ベストアンサー
Excelマクロでシートを追加して名前を変更する方法とは?
- Excelのマクロを使ってシートを追加し、名前を変更する方法について教えてください。
- Excelを長く使用するとシート名の数字が増えてしまい、マクロが正常に動作しないことがあります。sheet1で追加する方法や、複数のシートで動作するマクロのコードはあるのでしょうか?
- 初心者のため質問が下手かもしれませんが、Excelのマクロでシートを追加して名前を変更する方法について教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>excelのシートを追加した際に必ずsheet1で追加する方法、 同名のシートの存在は許可されない(エラーになる)ので、シート名の付け方に関して何らかの存在規則に従ってシート名を付ける必要があります。 Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "NewSheet" などとして、シート追加後にシート名を設定する事もできます。 >最近マクロをやり始めた初心者なので >sheet2でもsheet3でも動作するようなコードは存在しますか? 一般的な回答になってしまいますが・・・。 記録マクロでは解決できない問題ですから、プログラミングに関しての知識を身につけないと、現場の問題を回避することはできません。
その他の回答 (2)
- layy
- ベストアンサー率23% (292/1222)
SHEET1を処理するのではなくシート1番目を処理する、と考えたロジックにするとシート名の影響は少なくなります。 SHEETS(2).SELECTはシート2番目を選ぶ意。
お礼
素早い御回答ありがとうございます。 教えて頂いたコードをどこにいれて良いのかわからなかったので、 今回は使用を断念しました。 もう少しマクロ(プログラミング)に詳しくなったら使用させて頂きます。
- watabe007
- ベストアンサー率62% (476/760)
>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 = "テスト"
お礼
素早い御回答ありがとうございました。 回答頂いたコードに見慣れないコードがあった為、 今回は使用を控えさせて頂きました。 もう少し自身のスキルがアップした時に使用したいと思います。
お礼
素早い御回答ありがとうございました。 今回、教えて頂いたコードを使用させて頂き無事解決しました。 また指摘されたプログラミングの知識は皆無なので、これを気に色々勉強していこうと思います。 重ねて御礼を申し上げます。ありがとうございました。