• ベストアンサー

シート名が変更できない 「「○○」は予約語のため、シート名に使用できません。」

マクロを使っているファイルで 新シート挿入し、シート名を「履歴」としようとしたら 「「履歴」は予約語のため、シート名に使用できません。」 というエラーになります。 これはこのファイルが「マクロを有効にする」にしているからいけないのでしょうか? マクロを有効にしつつ シート名を「履歴」にしたいのですが どうすれば可能ですか?

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

  • ベストアンサー
  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.1

マクロには関係なく、「履歴」というシート名はExcelが利用するために予約しています。 「履 歴」やのように空白を間に入れたりする工夫が必要です。

5tgbhy
質問者

お礼

ありがとうございます。 マクロは関係ないのですか! ということは私だけでなくどのパソコンにおいても「履歴」と言う名のシートは作れないと言うことですか?

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

その他の回答 (6)

  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.7

No6です。書き忘れましたが実験に使ったExcelは2007です。

5tgbhy
質問者

お礼

ご丁寧にすいません。

全文を見る
すると、全ての回答が全文表示されます。
  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.6

余談ですが、Excel互換ソフトのOpenOffice Calcでは「履歴」という名のシートが問題なく作れます。 そこで、Calcで作ったファイルをExcelで読んでみると、問題なく開け、そのシート名のまま保存することもできました。 この状態で「変更箇所の表示」から「新しいシートに~」を実行すると、新しいシートの方が「履歴」というシート名になり、古い「履歴」は「履歴 (2)」に自動的に改名されました。この時別のシートに「=履歴!A1」のような参照があれば、これも自動で「='履歴 (2)'!A1」と変更されます。 というわけで特に問題は起こらないようなのでどうしても「履歴」というシートを作りたい場合にはOpenOfficeを使うと良いです。そんな状況は思いつきませんが。 しかしここまでしっかり作ってるなら「履歴」という名を許してしまってもそんなに問題はないんじゃないかなと個人的には思いますね。 なお面白いことに、「履歴」シートに変更を加えた状態で変更箇所を新しいシートに書き出させると、改名後の「履歴 (2)」シートに変更が加わったことになっています。 また、Calcで作った「履歴」シートの名前を変更しようとすると、そのままでは受け付けず、キャンセルもできない状態になります。(自動生成されるほうの「履歴」シートは改名できない)

5tgbhy
質問者

お礼

そんな裏技があるのですね。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

Googleで「シート名 履歴」で照会するとたくさん記事が出ます。引っ掛け見たいな事項ですね。 再現法 標準モジュールに Sub test01() Worksheets.Add.Name = "履歴" End Sub エラーは 「履歴」は予約語のため、シート名に使用できません。 履歴1, S履歴 履歴+スペース などは可能のよう。 ーー http://taropapa.blogspot.com/2006/02/blog-post_16.html の5コメントで書かれていることが原因でしょう。 ーー 他にこういうのがあるのか知りたいが、現状かなわず。

5tgbhy
質問者

お礼

参考になりました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • myRange
  • ベストアンサー率71% (339/472)
回答No.4

  「履歴」というシートは、ブック共有時にその変更履歴を書き出すためのシート名に使われています。 試しに、新しいブックを共有にし、適当に修正を加えた後 変更箇所の表示ダイアログで、 「新しいシートに変更箇所の一覧を作成する」にチェックを入れ OKボタンをクリックしてみてください 履歴一覧が「履歴」という名前のシートに作成されることが確認できると思います。 但し上記の「変更箇所の表示ダイアログ」は、xl2000のものですが 他のバージョンでも似たようなものでしょう 以上ここまで。    

5tgbhy
質問者

お礼

ん?ちょっと難しいです、、、調べてみます。

全文を見る
すると、全ての回答が全文表示されます。
  • mako_tyo
  • ベストアンサー率37% (61/161)
回答No.3

予約語であれば、マクロの有効無効に関係なく指定できないと思います。 <履歴> 履歴. などにするかしないと思います。 シート名変更について書いているHPがあります。 参考にどうぞ http://angel.ap.teacup.com/sally/5.html

5tgbhy
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

初めて知りましたが、XL2000、マクロ無しの新規ブックで再現されましたので、仕様なのでしょう。あきらめてください。共有ブックの履歴管理用にでも予約されているのでしょう。 OpenOfficeでは使えるそうですが...

5tgbhy
質問者

お礼

再現してくださったのですね。 ありがとうございます。参考になりました。

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

関連するQ&A

  • シート名 予約語について

    http://oshiete1.goo.ne.jp/qa5060952.html で質問したものです。 「履歴」は予約語のためシート名にできないことを学習しました。 ヘルプと見るとアスタリスクなどの記号も使えないようです。 これも予約語というのでしょうか? また「履歴」以外に予約語のためシート名に指定できない単語はありますか? よろしくお願いします。

  • エクセルでシート名に使えない予約語

    エクセルでシート名に使えない予約語の一覧が知りたいのですが それを知ってる方いらっしゃいますか? 出来ればマイクロソフトの公式サイトで見たいです。 履歴が予約語で使えない事を知りました。

  • シート名変更のマクロ

    QNo.4400605『エクセルでシート数を指定して挿入するマクロはどうやって作ったらいいでしょうか。例えばA1セルに挿入したいシートの数を入力するとその数のシートが作成されるというようなマクロを作りたいのですが』という質問をしてそれについては解決しましたが、作成されたシートの名前を1~40のような数字に変更するマクロが分かりません。作成するシートの枚数は決まってなく、25シートであったり、40シートだったりします。A1:A40に1~40と変更後のシート名を入力して、それをシート名に反映させるマクロは作れたのですが、毎回シート枚数が変わるので「インデックスが有効範囲にありません」と出てしまいます。型としては、元シートがあり、そこでシート数を指定しシートを挿入し、そのできたシートに数字の名前をつけたいと考えています。長々なりましたが教えて下さい。

  • エクセルマクロ シート名の指定と変更について

    いつもお世話になります。 現在、このような作業をしています。 1.前月と前々月の資料(ファイル名 "資料" シート名 "404" "405")を、計算用シート(ファイル名 "分析" シート名 "計算")に転記する。(手動) 2.月次の分析資料を作る。(マクロ起動) 3.2で作成した資料を、シート名 "000" に転記する。(マクロ) 4.次回の準備として、新しいシートを挿入する。(マクロ終了) 5.3で作成されたシート名 "000" をシート名 "406" に変更する。(手動) 6.5のシート名"406"を、ファイル名"分析"から、ファイル名"資料"に移動する。(手動) 7.4で挿入されたシート名を "000" と書き換える。(手動) 以上の一連の作業の中で、(手動)の部分をマクロで出来るようにしたいのですが、構文がわかりません。 といいますのは、シート名は、各年月の略号をあらわしており、毎月毎月、参照するシート名が変わるのです。(逆に言えばマクロの中で参照シート名を固定できない) そこで、今月のシート名ならば、"406"となりますので、その数字を入力(ファイル名 "分析" シート名 "計算" のセルA1に入力)してやれば、必要なシートが、前月と前々月、"405" "404" と判別できるので、何か方法があると思うのですが、構文がうまくできないので、たずねてみました。 補足しますと、現在、仮の置場的に機能しているシート "000"は、不要になると思います。 どうかよろしくおねがいします。 ちなみにエクセル2003、OS=XPです。

  • フォルダ内の全ブックのシート名を変更したいです。

    同一フォルダ内に、ファイル名の違うエクセルブックが100個ほどあります。 その100個のそれぞれには、シートが1つ入っています。(シート名は、ブック毎に異なっています) それらのシート名を100個全部、「2013-07」という名前にしたいのですが、マクロで一括処理はできますでしょうか? データが多く、マクロ初心者なので、困っております。。 エクセルは2013を使用しています。 お教えいただければ幸いですm(_ _)m

  • Excelのシート名変更について

    いつもお世話になっています。 エクセルにおいて、シート名を自動変更することは可能でしょうか? 現在、1ファイルにシートを100枚用意してあります。 それぞれのシートに「1」~「100」という名前を付けてあります。 このファイルをコピーして、新しいファイルのシート名を「101」~「200」としたいのです。 現在は、一枚ずつ手入力をしていますが、後10ファイル以上(1000シート以上)あり、また今後も発生するためできるだけ簡単に変えられる方法を探しています。 このOKWave内を検索し、欲しい内容に近い回答がありましたので、下記のようなマクロを作成してみましたが、「インデックスが正しくありません」というエラーが出てしまいました。 マクロについては、全く知識がないので、ぜひご教授のほどよろしくお願いいたします。 Sub Macro1() For counter = 101 To 200 Sheets(counter).Select ActiveSheet.Name = CStr(counter) Sheets(counter + 1).Select Next End Sub

  • エクセルマクロでファイル名やシート名変更できない

    エクセルは初心者なのでマクロを自動記録して作成しています。 少しづつ動作を小分けにして記録して、まとめてボタンで連続実行させるようにしました。 (1)作成途中で失敗したら最初からの作業になると思い、 ある程度進んだら何度かファイルのコピーを作成して進めていました。 ある程度完成した時点でファイル名が「○○○4~コピー~」の様な名前だったので、正式に名前を決めて変更したらマクロの実行が出来なくなりました。(元の名前に戻すと実行可能) (2)またシートも複数のシートに跨って参照するようなマクロです。 シート名を分かりやすい名前に変更したらこの場合もマクロ実行できなくなりました。 (3)コピーしたファイルもマクロ実行できないものがあります。 コピーしたファイルはマクロ実行できないのでしょうか? (4)ファイル作成途中で何かの変更が生じて列や行の挿入を行った場合、 特定のセルを参照して計算するマクロは実行できなくなるのでしょうか? その場合、簡単に修正する方法はありますか? 初心者にも分かるような回答をよろしくお願いいたします。

  • エクセルマクロ ファイル名を変更したとき

    マクロ初心者です。 データファイルからシートを複写挿入するマクロです。 コピー先ファイル名を都度変更したいのですが、その場合マクロにコピー先ファイル名が入っているのでエラーになります。名前が変わっても実行できるようにするにはどうしたらよいのでしょう? なお、複写元のデータファイルは複写後に閉じます。 Workbooks.Open Filename:="データファイル.xls" Sheets("Sheet1").Copy Before:=Workbooks("コピー先ファイル名.xls").Sheets(1)

  • シート名について教えて下さい

    例えば・・・・マクロを実行すれば、 (1)エクセルブックの 沢山あるシートの一番前に、『シート名一覧』のシートを追加 (2)『シート名一覧』シートのA列に、全シート名を表示      A 1  シート名一覧 2   源語 3   文章作り 4   単語帳  5   担当 6   : 7   : (3)『シート名一覧』シートのA1から、シート名と連動(順番に) (4)例えば、A4『単語帳』を『四文字熟語』に変えると、最初から4番目のシート名が連動して変わる そのようなマクロを どうか教えて下さい! 宜しくお願いします。

  • ExcelのマクロでSheetに記載のファイル名に変更するには

    Excel2003のマクロで、Sheet1のセルb1~b***(***の値はマクロで末尾を認識させたい)に記載されているファイル名をDドライブのフォルダ名「TEST1」から検索してAAのセルC1~C***に記載のファイル名にリネームするマクロで、「TEST1」フォルダにSheet1のセルに記載のファイルがない場合はエラーにしないで無視して次に進むようにしたいのですが、初心者でうまくできません。ご指導宜しくお願いします。

専門家に質問してみよう