Excelのシートをコピーして増やそうとするとき、失敗することがままある。
よくある原因が、
- 共有していたら解除する
- ブックやシートを保護していたら解除する
- 重複している名前定義がある
あたりを解説しているサイトさんが多い。
ので、それ以外の話!
CodeNameが31文字じゃないか?
シートのタブ名・オブジェクト名(CodeName)はどちらも31文字までしかつけられません。
Nameの方はコピーすると、末尾に” (2)”とかつきますが、これで31文字超える場合は勝手に末尾が切り落とされます。
こんな感じ。
SheetNameHogeHogeHogeHogeHogeXX → SheetNameHogeHogeHogeHogeHo (2)
ただ、CodeNameの方はコピーすると末尾に”2″とかついたり、末尾の数字が+1されたりしますが、これで31文字超える場合はコピー自体に失敗します。
Copyしすぎじゃない?
Excelさん、大量コピーが苦手な印象があります。
メモリ不足エラーとか出さずに失敗したり、よくわからないけどたまに失敗したりする。
ブックを上書き保存するとメモリがちょっと開放されるので、保存処理を入れるって手もあるけど、そもそもCopyが本当に必要かは考えた方がいいと思います。
セルのコピーなら1,000セルごとにわけながらコピーするとかね。
他にもニッチなIT関連要素をまとめていますので、よければ一覧記事もご覧ください。