エクセルでシートを別のブックへ移動やコピーをしようとしたら
「移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー]コマンドと[貼り付け]コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。」
このようなエラーが出てコピーや移動ができないことがあります。
簡単な解決方法をまとめておきますので、適切な方法で対処してください。
エラーの原因
エラーの対処の前に原因について説明します。
このエラーが表示されているということは、コピー元が「xlsx」でコピー先が「xls」の拡張子のエクセルではないですか?
結論から言うとエラーで表示されているように行列数が足りてないんです。(行列数とはシートそのものの行列数で、値が入っているセルの行列数ではありませんよ。)
エクセルの拡張子の「xls」は旧バージョンで用いられていた拡張子で新バージョンの「xlsx」より行列数が少ないんです。
xlsとxlsxの行列数
ではどれくらい違うかというとこんなに違います。
- xls の行列数: 256列、 65536行
- xlsxの行列数:16384列、1048576行
なので、めちゃくちゃ大きい物を小さな箱に詰め込もうとしている感じです。そりゃエラーも出るんです。
エラーの対処方法
原因が分かったところで対処方法に移りましょう。
次の2通りの方法を説明しておきます。場合に応じて使い分けてくださいね。
方法1.シートの内容を列幅を保持したままコピーして貼り付ける
コピーしたいシートの内容を範囲選択で指定してコピーして貼り付ける方法です。
ここで注意はセルの幅も保持したまま貼り付けたいことです。貼り付けた後にそれぞれの列幅を揃えていては時間がかかってしまいますよね。
まずは、コピーしたい列を選択し「Ctrl」+「C」でコピーしましょう。この場合では「A列~E列」を選択しました。
※ セルの範囲を指定するのではなく、列そのものを選択しましょう。貼り付けた時に列幅が保持されなくなってしまいます。
次に移動先の貼り付けたいシートを表示して、「A列」か「A1」を選択し、「Ctrl」+「V」で貼り付けましょう。※「A2」などを選択した場合は貼り付け時にエラーが表示されてしまします。
基本的にこの方法で行えば列幅を保持したままシートの内容をコピーすることが可能です。
ポイントは列ごとコピーしているから列幅を保持することができるということです。
列幅が保持されない場合
上記の方法で貼り付けても列幅が反映されないという場合には、より丁寧な貼り付け方も可能です。
「A1」セル上で右クリック、貼り付けオプションの「形式を選択して貼り付け」を選択し、元の列幅を保持を選択すれば、列幅を保持したまま貼り付けることが可能です。
この一連の作業はショートカットキーのみで行うことも可能で、「Ctrl」+「C」でコピーし、「Ctrl」+「V」で貼り付けた後、貼り付けた範囲が選択されたままの状態で、「Ctrl」を押すと貼り付けオプションが選択可能となり、「W」を押すことで列幅を保持したままの貼り付けが可能です。
方法2.コピー先の形式をxlsxに変更する
コピーするシート数が多い場合などにはこちらの方が良いでしょう。
貼り付け先のエクセルをxlsxに変更してバージョンをあわせる方法です。
貼り付け先の拡張子が「xls」のエクセルを開き、「ファイル」タブの「名前を付けて保存」をクリックしましょう。
保存ダイアログが表示されるので、ファイルの種類を「xlsx」に変更しましょう。元は「Excel 97-2003 ブック(*.xls)」が選択されているはずです。
ファイルの名前と保存場所を適切に設定し、保存をクリックしましょう。
開いていたエクセルが拡張子が「xlsx」に変更されていればOKです。
次に、開いている「xlsx」に変更したファイルを一旦閉じましょう。開いたままだと「xls」とまだ認識されていて、このままではシートのコピーを実行しても同じエラーが表示されてしまします。
再度、貼り付け先のエクセルを開き、コピー元のブックのシートから貼り付け先のブックへシートのコピーを実行してみてください。 エラーが表示されることなく、正常にコピーが可能なはずです。
貼り付け先のエクセルが「xlsx」ではダメな場合は
送付先が旧バージョンを使用しているなど、貼り付け先のエクセルが「xlsx」ではダメな場合は、上記の手順で「xlsx」のブックを作り、シートをコピーした後、「名前を付けて保存」でファイルの種類を再度「xls」を指定して保存しなおしてあげれば問題ないでしょう。
まとめ
特に旧バージョンのエクセルを使用する必要がない場合は方法2.を用いて「xlsx」にバージョンをあわせて使用する方がよいでしょう。
旧バージョンの拡張子と新バージョンの拡張子が混在している場合には、その他の警告なども表示されることも多くなってしまいますので、できるだけ同じバージョンを使用するようにしましょう。