エクセルのシート名の変更について教えてください。
シート1のA列に、現在のブックのシート名が、
シート1のB列には、変更したいシート名が
対応するように入力されています。
シート数は50~200程度で、つど変わります。
例
A列 B列
1行目:りんご 赤色
2行目:ばなな 黄色
3行目:メロン 緑色
・ ・
・ ・
・ ・
※この場合、「りんご」は「赤色」に、「ばなな」は「黄色」に、
「メロン」は「緑色」に、それぞれシート名を変換したい。
今は、手作業でひとつずつシート名を変換しており、
かなりの手間で困っています。
一覧表を作成するまでは手作業でいいのですが、
何とかして、シート名の変更を、この一覧表を参照して
できないでしょうか?
過去の質問をいろいろと見たのですが、
該当するものが見つけられず、VBAも初心者のため、
途方にくれています。
ぜひともご教授ください。
No.2ベストアンサー
- 回答日時:
マクロサンプルです。
マクロは標準モジュールシートに貼り付けてください。変換表のシート名は4行目を修正のこと。Sub Macro1()
Dim sh As Worksheet
Dim res
Const trg As String = "Sheet1" 'シート1のシート名に変更
For Each sh In Worksheets
Set res = Worksheets(trg).Range("A:A").Find( _
what:=sh.Name, LookIn:=xlValues, Lookat:=xlWhole)
If Not res Is Nothing Then
sh.Name = res.Offset(0, 1).Value
End If
Next sh
End Sub
早々にありがとうございます。
これならば、A列とB列で、列単位で対応できるのですね。
質問文には書いていなかったのですが、
そのほうが都合がよく、使わせてもらいました。
本当に助かりました。
ありがとうございました!
No.1
- 回答日時:
サンプルです参考にしてください。
Sub ChaneSheetName()
'カレントブックのSheet1!A1をカレントセルに
ThisWorkbook.Sheets("Sheet1").Range("A1").Select
'カレントセルの値が空白になるまで処理を繰り返す
Do Until Selection.Value = ""
'カレントセルと同じ名前のシート名をB列の値に変更
Sheets(Selection.Value).Name = Selection.Cells(1, 2).Value
'一つ下のセルをカレントセルに
Selection.Cells(2, 1).Select
Loop
End Sub
エラー処理等は書いてませんのでご注意を
早々にありがとうございます。
思いのとおりに動きました。
目からうろこがぽろぽろです。
助かりました!
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで金銭出納帳。繰越残高を...
-
EXCEL VBAで別のシー...
-
エクセルの複数シートの保護を...
-
Accessのスプレッドシートエク...
-
エクセルでファイル保存時に複...
-
Excel、同じフォルダ内のExcel...
-
EXCELで1ヶ月分の連続した日付...
-
Excelが開かない!印刷プレビュ...
-
別シート参照のセルをシート毎...
-
シート名が変わる場合のVBAの設...
-
EXCEL:同じセルへどんどん足し...
-
②Excel 簡単にシートコピーした...
-
エクセルで毎回1枚目のシートを...
-
複数シートの特定の位置に連番...
-
EXCELで同一フォーマットのシー...
-
エクセルのシート名をリスト化...
-
シート番号からシート名を取得する
-
【エクセルVBA】「インデックス...
-
ピボットテーブルの集計セルを...
-
特定のシートの削除を禁止した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
Excelで同じシートのコピーを一...
-
Excelのシートを、まとめて表示...
-
エクセルでファイルを開いたと...
-
Accessのスプレッドシートエク...
-
前の(左隣の)シートを連続参...
-
VBAでシートコピー後、シート名...
-
EXCEL:同じセルへどんどん足し...
-
EXCELで同一フォーマットのシー...
-
シートの保護のあとセルの列、...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで複数設定したハイパーリンク先...
-
複数シートの特定の位置に連番...
-
エクセルでファイル保存時に複...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
Excel、同じフォルダ内のExcel...
おすすめ情報