• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA シート名が変更できません・・・)

VBAのシート名変更ができない理由と解決方法

このQ&Aのポイント
  • VBAを使用してシート名を変更しようとしているが、うまくいかない場合があります。シート名変更の方法や注意点について解説します。
  • VBAを使ってシート名を変更したいが、エラーが発生してしまいます。シート名変更のための正しいコードやハンドリング方法について説明します。
  • VBAで取り込んだシートの名前を変更したいが、上手くいかない場合があります。シート名の変更方法として、セレクトメソッドやNameプロパティの利用が必要です。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

myShtはシートオブジェクトそのものですから。 こうします: mySht.select ’実際はシートをセレクトする必要は全く無い mysht.name = sh_name1 & "_" & sh_name2 あんまりこういう事はしません: worksheets(mysht.name).select worksheets(mysht.name).name = sh_name1 & "-" & sh_name2

tomomaki
質問者

お礼

夜遅くに本当にありがとうございました。 バッチリ動きました!! 何とか検収に間に合いそうです。 本当にありがとうございました。

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

その他の回答 (1)

回答No.2

イロイロだネェ、、、にも、、、 Sub Ahoo() '問答無用で、すべてのシートについて処理する On Error Resume Next Application.DisplayAlerts = False Sf = 1 'Sl = Workbooks(FName).Sheets.Count Sl = ThisWorkbook.Sheets.Count For s = Sf To Sl 'Set mySht = Workbooks(FName).Worksheets(s) mySht = ThisWorkbook.Worksheets(s).Name 'mySht.Activate '上記で取り込んだシート名を下記で変更できません・・・ 'Sheets(mySht).Select sh_name1=left(Sheets(mySht).Name,1) sh_name2=right(Sheets(mySht).Name,1) Sheets(mySht).Name = sh_name1 & "-" & sh_name2 Next Application.DisplayAlerts = True End Sub

tomomaki
質問者

お礼

ありがとうございました。 大変助かりました。

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

関連するQ&A