• ベストアンサー

エクセル2010 複数枚のシートの名前を一度に変更

エクセル2010を使用しています。 複数枚のシート名にそれぞれ次のように名前が入っています。 A001abcdef_R_1_1 A002abcdef_R_1-2 A003abcdef_L_1-1 A004abcdef_L_1-2 A005abcdef_R_2-1 A006abcdef_R_2-2 A007abcdef_L_2_1 A007abcdef_L_2-2 ・ ・ ・ (文字はすべて半角です。) この複数枚のそれぞれのシート名から、アンダーバー(_)とハイフン(-)を削除したいです。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

こんな感じでいかがでしょ。 Sub test() Dim mySheet As Worksheet, strName As String   For Each mySheet In Worksheets     strName = mySheet.Name     strName = Replace(strName, "-", "")     strName = Replace(strName, "_", "")     mySheet.Name = strName   Next End Sub 念のため、保存してから試してくださいね。

goseinaito
質問者

お礼

できました!ありがとうございました!

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

その他の回答 (2)

回答No.3

名前を変換すると重複が発生しそうなので、適当な所(変数定義の下辺り)に、 On Error Resume Next を入れておくのが賢明かも、、、

goseinaito
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

Sub RenameSheets() Const xChar = "-" Const xChar2 = "_" Dim xSheetName As Variant Dim kk As Long Application.ScreenUpdating = False Application.DisplayAlerts = False For kk = 1 To Worksheets.Count xSheetName = Worksheets(kk).Name xSheetName = Application.Substitute(Application.Substitute(xSheetName, xChar2, ""), xChar, "") Worksheets(kk).Name = xSheetName 'MsgBox (Worksheets(kk).Range("A1")) Next kk Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub

goseinaito
質問者

お礼

ありがとうございました。

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

関連するQ&A

  • (エクセル)Indirect関数で、ハイフン"-"が付いた名前のシート

    (エクセル)Indirect関数で、ハイフン"-"が付いた名前のシートは参照不可でしょうか? Indirect関数で、ハイフン"-"が付いた名前のシートは参照しようとするとエラーになります。ハイフンを除くと正常に参照します。 ハイフン"-"が付いた名前のシートは参照は無理なのでしょうか?シート名を変えられればいいのですが、他の人間が通常メンテしている大きいファイルの為、変更が難しい状況にあります。 尚、ハイフンはシート名の中間についており、弊社の扱っている商品のモデル名と型式名の間に入っているもので、この形が社内での一般的な表現方法となっています。 シート名: アルファベット1文字+数字2~3桁+ハイフン+型式(1~2桁数値)

  • アクセスからエクセルへ出力時のシート名について

    DoCmd.TransferSpreadsheetでExcelへデータをエクスポートする際に、 シート名にハイフンを使うことはできないでしょうか? 例えばexcelシート名を"pre-date"とする。 通常だとハイフンはアンダーバーに変換されて保存されますが、 無理矢理、ハイフンをシート名に入れる方法はありませんでしょうか? よろしくお願いいたします。

  • エクセルで複数シートをまたがって、(名前boxに)一つの名前をつけるに

    エクセルで複数シートをまたがって、(名前boxに)一つの名前をつけるには? エクセルで、シート1 A1~C3、シート2 B2~D4、シート3 C3~E5の範囲に一括でひとつの名前定義を挿入したいのですが、具体的にどうやればいいでしょうか。 教えて下さい。宜しくお願いします。

  • Yahoo!オークションの画像の名前にハイフンは出来ますか?

    何度も出品経験があり、いつもは画像の名前を半角英数字とアンダーバー「_」で保存します。 しかし、久し振りに出品するため、誤ってハイフン「-」を含めて保存してしまいました。 画像ソフトを使って名前を変更すれば良いんですが、今後の参考のためにも、聞いておきたいです。 画像の名前に使用できるものは、半角英数字とアンダーバー(半角)のみでしょうか? (ヘルプを見ても半角英数字のみとしか書いておらず、今までアンダーバーはきちんとアップロードされていました。) よろしくお願いいたします。

  • シートを複数持つExcelファイルを複数ファイル結合する方法

    シートを複数持つExcelファイルを複数ファイル結合する方法 ○○○工事・▲▲▲工事・■×○工事・・・・と複数のEXCELファイルが有り そのファイルの中には共通してA・B・C・D・・・・シートがあります。 各EXCELファイルの同じ名前のシートを取り出して1つのファイルにしたいと思っています。 1つのファイルにした時、各シート名が抜き出したファイル名になるようにしたいです。 50ファイル以上ありシート数が20ある為、なんとかいい方法をお教え下さい。

  • エクセルの複数シート間での集計

    エクセルの複数シートの同一セル内に入っている文字データの集計を行いたいと思っています。A~Gまでのアルファベットが入っているのですが、全シートのAが何個、Bが何個という各アルファベットの数を数えたいのです。アルファベットを数字に当てはめてCOUNTIFと考えたのですが、元範囲を複数シートにとることができず行えませんでした。何か良い方法は無いでしょうか?宜しくお願いいたします。

  • EXCEL内のシートについて

    複数のEXCELファイル(ブック)内にある同一名のシートを一括して削除する、或いは一括して編集する方法ってありますか? やりたい主旨は、同じようなファイルが多数あるものの、ファイル内の一部のシートについては名前は一緒で、 ずっと“金魚のうんち”のようにくっついてきているだけであり、鬱陶しいので削除したいということです。

  • エクセルのワークシートの名前変更・・・

    朝からずっと調べているんですが、なかなか良い過去ログが無かったので、教えてください。 エクセル2003で、1つのブックの中に、複数のシート(シートの数は不定、またシート名は「sheets1」とかではなく、日本語形式です)が有ります。そのシートの名前を、1~という数字の連番に変えたいのですが、良い方法又はマクロを教えてください。 当方マクロ初心者ですので、具体的に作って頂けると助かるのですが・・・ 宜しくお願い致します。

  • Excel マクロで 特定文字列を一括置換

    VB初心者です。 例えばExcel「商品」シートのA列に型式のデータがあって、マクロを使ってすべて次の条件で置換えしたい場合どのようなコードになるのかご教授お願いします。 1) 行頭の「0-」を削除 2)「半角数字」,「-(ハイフン)」,「改行」以外を削除

  • エクセルで複数のシートのコピー方法は

    エクセルで シート1~シートN までの複数シートを シート名(集計)にコピーする マクロで関数組む方法を指導願います 条件1 シート名は 作業のつど 名前が 変更します 条件2 シートの形式は全部同じです エクセル 2000

専門家に質問してみよう