Почему в моем документе Excel 960 000 пустых строк?


13

У меня есть документ Excel, Office 2007, на компьютере с Windows 7 (если эта часть имеет какое-либо значение, я не уверен, но просто выкидываю его туда). Это список всех телефонных номеров сотрудников. Если мне нужно создать новую страницу, я могу нажать на страницу 2, и таблица будет автоматически сгенерирована снова.

Проблема в том, что кто-то все испортил, поскольку он подключен к сетевому диску и теперь показывает, что у меня более 960 000 строк данных, а на самом деле это не так! Я сделал CTRL + END, чтобы увидеть, есть ли какие-либо данные в последней ячейке, поэтому я очистил их, удалил эту строку и столбец, но все еще не исправил их. Похоже, что он дублирует себя после удаления.

Как я могу это исправить вместо воссоздания всего документа?


1
Вы пытались восстановить резервную копию? Кроме того, вам нужно будет предоставить больше информации о том, что делает макрос или VBA для создания новой таблицы. Вы можете разместить эту информацию?
CharlieRB

@CharlieRB Когда я посмотрел больше на документ, я понял, что он не генерирует новую таблицу. Это был не тот, который я изначально создал, это была просто установка границ, похожая на таблицу. Я пытался восстановить резервную копию, но, видимо, проблема возникла до последней хорошей резервной копии. Если я перейду к самому последнему ряду, который равен 1 048 576 ... когда я пытаюсь удалить этот ряд, то вместо него появляются граничные ячейки, как в начале документа.
C-головокружение

@CharlieRB Я закончил тем, что вернулся и заново создал документ с нуля, но это все еще заставляет меня задуматься о том, что продолжает заменять пустые ячейки границами, которые я там не ставлю.
C-головокружение

Если это общий файл, у вас может быть кто-то, кто думает, что способ форматирования ячеек - это делать целые столбцы за раз, а не только то, что нужно. Или это сделано, если вы единственный, кто сейчас имеет доступ к файлу?
datatoo

Ответы:


14

Microsoft имеет отличный документ поддержки под названием Как сбросить последнюю ячейку в Excel .

Из этого документа:

Наиболее распространенная причина установки последней ячейки вне диапазона рабочего листа, который используется в данный момент, - чрезмерное форматирование. Когда вы форматируете целые строки и столбцы, некоторые типы форматирования могут привести к тому, что последняя ячейка будет установлена ​​на ячейку намного ниже или справа от фактического используемого диапазона.

Судя по комментариям под вашим вопросом, кажется, что виновником является формат границы, который применяется ко всем строкам.

Я использовал код из надстройки, предоставленной по ссылке выше, чтобы уменьшить размеры файлов с нескольких мегабайт до нескольких сотен килобайт.


Я использую Excel2010, и он не работает, просто выдает ошибку "Excel не может выполнить эту задачу с доступными ресурсами. Выберите меньше данных или закройте другие приложения"
Адольф Чеснок

Ссылка выше была мертвой. @adolfgarlic попробуйте решение VBA
phuclv

@adolfgarlic Он не работает в 32-разрядной версии Excel, но работает в 64-разрядной версии, в которой не применяются те же ограничения памяти. Увы, после изменения моей версии с 32 на 64 бита, это решение работает, но не решает проблему.
t0mgs

@phuclv Вполне жив, на самом деле.
t0mgs

0

Также проверьте, есть ли ячейки с комментариями, где поле для комментариев было перетащено далеко от ячейки. У вас может быть ячейка во втором ряду электронной таблицы с комментарием, поле комментария которого находится рядом со строкой 7000, и это заставит Excel рассматривать строку 7000 как последнюю строку таблицы.


0

Как и вышеупомянутый комментарий - у меня была та же проблема с наличием более миллиона дополнительных строк в моем документе Excel, вызванная тем, что комментарии заканчивались очень далеко от ячейки. На этой странице есть простой код VBA, который вы можете использовать для очистки вашего документа, затем вы можете удалить его и сохранить документ без кода, и проблема будет устранена. https://www.extendoffice.com/documents/excel/2252-excel-reset-comment-positions.html

Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic для приложений.

Нажмите Вставить> Модуль и вставьте следующий код в окно модуля.

Код 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, чтобы запустить этот код, и все позиции комментариев в активной рабочей таблице были сброшены сразу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.