電子書籍ギフト♪ 最大10,000円が当たる!

Sub シート名()

Set sh1 = ActiveSheet

For Each sh1 In Worksheets
sh1.Name = sh1.Range("B5").Value
Next

End Sub

B5の値をシート名にするマクロを組んだのですが、
3シートある場合、1,2シート目は名前がかわるのですが、
3シート目でアプリケーション・オブジェクトの定義エラーが出ます。
お手数ですが、解決策を教えてください。

教えて!goo グレード

A 回答 (3件)

おはようございます。



シート1~3のそれぞれのB5のセルに、どの様な文字が入っているのでしょうか?
シート3番目のB5セルを、手作業でシート名に変更できるでしょうか?
できれば、マクロでも可能だと思いますし、不可でしたら、マクロでも
不可になるかと思います。

下記、検索した記事になりますが、
https://excel-ubara.com/excelvba4/EXCEL_VBA_412. …
https://www.limecode.jp/entry/utility/illegalcha …
http://officetanaka.net/excel/vba/tips/tips68.htm
    • good
    • 0

そりゃそうでしょう。


同じシート名にしようとしてるんですから。
エクセルブック内のシート名はユニークが必須ですよ。
    • good
    • 0

こんにちは



そのシートのB5セルの内容が、以下に該当していたりしませんか?
 ・空欄である
 ・すでに存在するシート名と同じである
 ・シート名に使えない文字(:や¥など)を含んでいる
 ・31文字以上ある
    • good
    • 2

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

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

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング