つい先日、Office2010のExcelにてツールからシート名に名前を付ける際、ちょっと引っかかったことがあった。そこでまずはExcelのシート命名規則を少し調査してみた。
-今回の調査はすべてOffice2010で確認しております
まずマイクロソフトの公式ページから
https://support.microsoft.com/ja-jp/help/401030

●シート名に仕様使用不可能
・コロン :
・円記号 ¥
・疑問符 ?
・角カッコ [ ]
・スラッシュ /
・アスタリスク *

●ブック名に使用不可能
・コロン :
・角カッコ [ ]


ただし、現実としてはこれ以外にもシート名に指定できない文字列の制限はあるようで、代表的なのは以下の制限。

●31文字まで(Offcie2010の制限)
 Excel97以降のバージョンではシート名は31文字まで。全角、半角に関わらず、文字数でカウントされる模様。

●「予約語」
 予約語として登録されているため「履歴」の文字は使用できない。意外と忘れがちな機能。
 
●そのほか理由不明
 ちと特殊な文字として、'(シングルクォート)、’(アポストロフィ)はシート名につけられない場合がある。
・シート名の先頭、末尾にこれらの記号があるとエラーとなる(それ以外の箇所にある場合は問題ない)
・現在調査してみたが、この2つが制限を受けている理由は良く分からない。公式回答でもそれらしい記述は見当たらないが、実機環境では確実にエラーを起こすため、実環境では避けたほうが無難でしょう。

 Excelファイルを出力するタイプのソフトや、VBAでシート名を扱うツールなどの試験を行う際はこの点は覚えておくと役に立つかもしれません。