好きなおでんの具材ドラフト会議しましょう

既存のシート名「sheet1」、「sheet2」、「sheet3」……に、「原稿1」、「原稿2」、「原稿3」……と、エクセルマクロを使って一括で変換したいと思っています。

シートからシート名を抜き出すのはありますが、その逆のものは探しても見当たりませんでした。
どなたか教えていただけると助かります。

できれば、同じファイルの別シート(シート名一覧)に書いたものが、各シート名になると嬉しいです。

A 回答 (1件)

シート名「シート名一覧」のA1セルにシート名一覧と記入し,A2セルから下向けに新しいシート名が列記してあるとします。

無駄にややこしくしないため,とりあえず暫定的に新しいシート名は現在のシート枚数に過不足無く並べてあるとします。

ところで新しいシート名を一覧しておくのは良いのですが,それが一体「今現在どの名前のシート用の新しい名前なのか」の対応について,どうしたいのか説明が足りてません。
とりあえず「シート名一覧」シートをシート名タブの並びの「一番左」に配置して,2枚目のシートから順に名前を付け替えていくことにしてみます。


作成例:
sub macro1()
 dim i
 on error resume next
 for i = 2 to worksheets.count
 worksheets(i).name = worksheets("シート名一覧").cells(i-1, "A")
 next i
end sub




#あなたが見つけた「シート名一覧を書き出すマクロ」を参考にすれば,それをつかって今現在のシート名一覧をまず並べさせ,その順番で「新しい名前」を列記して見つけたマクロの裏返しでシート名をつけさせる(シート名を書き換えるという具体的なマクロは,上述を参考にします)ことでも出来そうですね。

この回答への補足

説明が足りなくて申し訳ありません。

町名ごとのシートが200ぐらいあり、そのデータを入力してもらうのでシート名に「原稿1」、「原稿2」と名前を変換したかったのです。

シート数もわからいので、まずシート名を抜き出し「シート名一覧」のシートを挿入するマクロを使いました。
次に、枚数もわかったので「原稿1」、「原稿2」とシート名を変更したかったのです。

keithinさんの教えてくださったマクロで、見事願いは叶いました。
本当にありがとうございました。

補足日時:2011/08/03 09:51
    • good
    • 0
この回答へのお礼

あまり利用したことがなくて、勝手がわからず変なところに御礼を入力していました。
本当に助かりました。ありがとうございました。

お礼日時:2011/08/10 23:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報