Excelドキュメントに960,000の空の行があるのはなぜですか?


13

Windows 7マシン上にExcelドキュメント、Office 2007があります(その部分が重要な場合は、確信が持てませんが、そこに捨てています)。これは、すべての従業員の電話番号のリストです。新しいページを生成する必要がある場合は、ページ2をクリックすると、テーブルが再び自動的に生成されます。

問題は、ネットワークドライブ上にあるため、誰かがそれを台無しにしたことです。今では、実際にはそうではないのに、960,000行以上のデータがあることを示しています。Ctrlキーを押しながらEndキーを押して、最後のセルにデータがあるかどうかを確認したので、データを消去し、その行と列を削除しましたが、まだ修正しませんでした。削除後に自分自身を複製しているようです。

ドキュメント全体を再作成する代わりに、これを修正するにはどうすればよいですか?


1
バックアップを復元しようとしましたか?また、新しいテーブルを生成するためにマクロまたはVBAが実行していることに関する詳細情報を提供する必要があります。その情報を投稿できますか?
チャーリーRB

@CharlieRBこのドキュメントを詳しく見ると、新しいテーブルを生成していないことに気付きました。それは私が最初に作成したものではなく、テーブルのように見える単なる境界線設定でした。バックアップを復元しようとしましたが、最後の正常なバックアップの前に問題が発生したようです。1,048,576である最後の行に移動すると、その行を削除しようとすると、ドキュメントの先頭のように境界のあるセルになります。
C

@CharlieRB最終的にドキュメントを最初から作成し直しましたが、それでも空のセルをそこに置いていない境界線で置き換え続けるのか疑問に思っています。
Cディズル

共有ファイルの場合、セルをフォーマットする方法は、必要なものだけではなく、一度に列全体を実行することだと考える人がいるかもしれません。または、ファイルにアクセスしているのがあなただけである場合、これは完了ですか?
datatoo

回答:


14

Microsoftには、Excelの最後のセルをリセットする方法という優れたサポートドキュメントがあります

その文書から:

現在使用中のワークシート範囲外に設定されている最後のセルの最も一般的な原因は、過度の書式設定です。行全体と列全体をフォーマットすると、一部のタイプのフォーマットにより、最後のセルが、使用中の実際の範囲のはるか下または右のセルに設定される場合があります。

あなたの質問の下のコメントに基づいて、すべての行に適用される境界線フォーマットが原因であるように見えます。

上記のリンクから提供されたアドインのコードを使用して、ファイルサイズを数メガバイトから数百kに減らしました。


excel2010を使用していますし、それが仕事は、単にエラー与えていない「Excelが利用可能なリソースと、このタスクを完了することはできませんが、より少ないデータまたはそれに近い他のアプリケーションを選択してください。」
アドルフ・ニンニク

上記のリンクは機能していません。@adolfgarlicがVBAソリューションを
phuclv

@adolfgarlic 32ビットバージョンのExcelでは動作しませんが、同じメモリ制限を適用しない64ビットバージョンでは動作します。残念ながら、私のバージョンを32ビットから64ビットに変更した後、このソリューションは実行されますが、問題は解決しません。
t0mgs

@phuclv実際、かなり生きています。
t0mgs

0

また、コメントボックスがセルから遠く離れて下にドラッグされているコメントのあるセルがあるかどうかを確認します。コメントボックスが行7000の近くにあり、Excelが行7000をスプレッドシートの最後の行として扱うように強制するコメント付きのスプレッドシートの2行目にセルを作成できます。


0

上記のコメント作成者のように-私は、Excelのドキュメントに100万を超える余分な行があるという同じ問題を抱えていました。これは、コメントがセルからかなり離れてしまうためです。このページには、ドキュメントをクリーンアップするために使用できる簡単なVBAコードがあります。コードを削除してドキュメントを保存すると、問題は修正されます。https://www.extendoffice.com/documents/excel/2252-excel-reset-comment-positions.html

Alt + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

[挿入]> [モジュール]をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード:アクティブなワークシートのすべてのコメント位置をリセットします

1 Sub ResetComments()
2 'Update 20141110
3 Dim pComment As Comment
4 For Each pComment In Application.ActiveSheet.Comments
5   pComment.Shape.Top = pComment.Parent.Top + 5
6   pComment.Shape.Left = pComment.Parent.Offset(0, 1).Left + 5
7 Next
8 End Sub

次に、F5キーを押してこのコードを実行すると、アクティブなワークシート内のすべてのコメントの位置が一度にリセットされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.