У меня есть документ Excel, Office 2007, на компьютере с Windows 7 (если эта часть имеет значение, я не уверен, но просто выкладываю ее здесь). Это список всех телефонных номеров сотрудников. Если мне нужно сгенерировать новую страницу, я могу нажать на страницу 2, и таблица автоматически сгенерируется снова.
Проблема в том, что кто-то испортил его, так как он находится на сетевом диске, и теперь показывает, что у меня более 960 000 строк данных, хотя на самом деле их нет! Я нажал CTRL+END, чтобы посмотреть, есть ли какие-то данные в последней ячейке, поэтому я очистил ее, удалил эту строку и столбец, но все равно не исправил. Кажется, что он дублирует себя после удаления.
Как это исправить, не пересоздавая весь документ?
решение1
У Microsoft есть отличный документ поддержки, который называетсяКак сбросить последнюю ячейку в Excel.
Из этого документа:
Наиболее распространенной причиной установки последней ячейки за пределами используемого в данный момент диапазона листа является чрезмерное форматирование. При форматировании целых строк и столбцов некоторые типы форматирования могут привести к тому, что последняя ячейка будет установлена на ячейку, которая находится намного ниже или правее фактического используемого диапазона.
Судя по комментариям под вашим вопросом, можно с уверенностью сказать, что виноват формат границы, примененный ко всем строкам.
Я использовал код из надстройки, предоставленной по ссылке выше, чтобы уменьшить размеры файлов с нескольких мегабайт до нескольких сотен килобайт.
решение2
Также проверьте, нет ли ячеек с комментариями, где поле комментария было перетащено далеко вниз от ячейки. У вас может быть ячейка во второй строке таблицы с комментарием, поле комментария которого находится около строки 7000, и это заставит Excel считать строку 7000 последней строкой таблицы.
решение3
Как и комментатор выше - у меня была та же проблема с более чем миллионом дополнительных строк в моем документе 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, чтобы запустить этот код, и все позиции комментариев на активном листе будут одновременно сброшены.