エクセルでデータを表にまとめていると必ず行う操作の一つが、
行の挿入 / コピーしたセルの挿入
ではないでしょうか?
「この行とこの行の間に新しい行を追加したい」というのはよくある話で、対象行を選択した状態で右クリック→行の挿入をすることで、選択行の上に行が追加されます。
この操作自体、通常は何の問題もなく行えるのですが、たまーにエラーメッセージが表示されて挿入ができないことがあります。
たまにしかこのエラーは出ないのですが、だからこそ原因や対処方法がすぐに浮かんでこないんですよね。
そこで今回は、行や列の挿入ができずにエラーが出た場合の原因や対処方法についてまとめてみました。
この記事を読むことで行や列が挿入できない現象への対応ができるようになると共に、エクセルにおけるデータ範囲の考え方が身につきます。付随して「データがそれほど入っていないのになぜかファイルの容量が大きい」といった現象へも対応ができるようになるでしょう。
行の挿入/列の挿入時に発生するエラー内容
まずはじめに、行や列の挿入を行った際にどのようなエラーメッセージが表示されるかを見てみます。
誰かが作ったエクセルファイルに対してメンテしようとしたときにこのメッセージが表示されることが多い印象です。
データの損失を防ぐため、空白ではないセルをワークシートの外に移動することはできません。新しいセルを挿入する別の場所を選択するか、ワークシートの末尾からデータを削除してください。
ワークシートの外に移動できるセルにデータが無い場合、どのセルが空白ではないと見なされるかをリセットできます。これを行うには、Ctrl+Endキーを押してワークシート上の最後の空白ではないセルに移動します。次に、このセルと、データの最後の行および列とセルの間のセルを全て削除し、保存します。
・・・長い!!
対処方法が書いてあるため長いようなのですが、それにしても長ったらしいです。
要約すると次のようになると思います。
- エクセルで入力可能な最終行(または列)にデータが設定されているため、新しい行を挿入できません。
- よって、挿入するには不要な行を消してください。
- データの最終行にはCtrl+Endキーで移動できますので、行を削除後にファイルを保存してください。
「空ではないセルをワークシートに・・」エラー発生時の対処方法
エラーメッセージを要約してみましたが分からない部分が多いと思いますので、対処方法と共に解説していきます。
ワークシートの末尾(データの最終行)とは?
まず、エラーメッセージ内の「ワークシートの末尾からデータを削除してください」の部分についてです。
ワークシートの末尾というのはデータの最終行を表していますが、自分が作成した一覧上の最終行ではなく、Excelのシートとしての最終行のことを指しています。
データの最終行にはCtrl+Endキーで移動が可能です。(Ctrl+↓キーでも移動できます)
Excelファイル(拡張子が.xlsxファイル)場合、最大行は1048576行、最大列はXFDとなっています。
エラーの原因
よって、原因は最大行または最大列に何か値が設定されているためです。この状態で行・列の追加をしようとしているので、先述のエラーメッセージが表示されます。
エラーの解消方法
ということで、エラーメッセージが表示さないようにするためには、最大行または最大列に設定されている値をクリアするということを行えばOKです。
最大行または最大列にデータが設定されていそうかどうかは、スクロールバーを見ればすぐに確認することができます。
通常、スクロールバーは次のように、それなりの長さで表示されます。
しかし最大行に何かしらデータがある場合、スクロールバーはこんな感じで通常より短く表示されるようになります。
スクロールバーが短く表示される=スクロールする範囲が長い=意図しない行までデータとして認識されていると判断することができます。
このような時は、自分で最終行として認識している行以降の行をまとめて範囲選択して削除を行い保存をすればOKです。不要な行が削除されますので、スクロールバーの長さも適切な長さに変わります。
データの有り無しの判定と注意点
だだしここで考慮が必要なのは、最大行または最大列のどこかのセルに値が何か入っていなくても、データが設定されていると判断されるケースがあるという点です。
どういうことか?例を挙げてみます。
例えば、A1048576セルに値を設定した状態で行追加をしてみます。
想定通りエラーメッセージが発生します。
次に、A1048576セルに値をクリアしてから同様に行追加をしてみます。すると、最終行が1048576行目ではなくなるため、エラーが出ずに行挿入の操作が行われます。
ここまでは想定通りです。
では、A1048576セルに罫線を入れた場合(セル内の値は無し)に同様の操作をするとどうなるでしょうか?
「空ではないセルをワークシートに・・」エラーが発生します。
つまり、最終行にデータがあるかないかは、セル内に値が設定されているかだけではなく、セルに対して罫線がついているかどうかでも判断されます。
セルに罫線がついていれば、セル内の値が空でもそのセルには何かしら値が入るはずの場所として確保している領域=データ範囲として判定される、という事かなと想定されます。
そのため、A1048576セルの罫線をクリアしてから行追加すると、エラーは発生しなくなります。
罫線が原因で「空ではないセルをワークシートに・・」エラーが発生するのは、セルに対して罫線を引く際に行選択をして罫線を引いている場合です。
例えばA列に対して罫線を引く際に
- A列をクリックして列を範囲選択
- リボンから罫線を入れる
という操作を行うと、最終行まで罫線が引かれます。
そのため、この状態で行の挿入をするとエラーが発生するのです。
まとめ
「空ではないセルをワークシートに・・」エラー発生時の原因と対処方法についてご紹介しました。
普段見ないこのエラーが発生した際には、データの範囲を意識してみましょう。
また、この記事に書いたようなちょっとした困ったことでも、自分に経験や知識が足りないために対応できなかったり、時間をかけたわりに全然進まなかったりと、思うようにいかない事ってありますよね。そんなときは専門家に相談したり解決してもらったりする方法もありますので、一人で悩まず対処してみましょう。