1

Я нашел это:

Ctrl+End     Move to the last cell with content on a worksheet.

Но это перемещает меня на 1156 строку, когда документ фактически заканчивается на 74.

Есть ли другой возможный способ сделать это?

2 ответа2

1

Если вы откроете новый документ Excel и поместите некоторую информацию в первые 5 строк, он будет иметь только 5 строк. Удалите значения из последних 2 строк, и он все еще имеет 5 строк. Вы должны щелкнуть правой кнопкой мыши номер строки 4 и 5 и нажать «Удалить», прежде чем в документе будет 3 строки. Вы можете проверить это с помощью горячей клавиши, которую вы уже нашли.

Если у вас когда-либо были данные в строке 1156, Excel по-прежнему запоминает все строки до 1156 как часть данных.

1

Excel запоминает удаленные строки и по-прежнему считает их ячейками со значениями. Распространенным решением является сохранение и повторное открытие книги после удаления строк. Повторное открытие заставляет Excel забыть эти удаленные строки, и CTRL+END работает правильно.


Способ без сохранения и повторного открытия - использовать простую функцию VBA. После того, как он настроен, вы можете использовать его все время, нажав CTRL+END. Также возможно сохранить его как Excel-Addin и включить его для всех файлов Excel.

  1. Откройте редактор VBA в Excel с помощью ALT+F8
  2. На левой панели вы видите ThisWorkbook. Откройте его и вставьте этот код.

    Private Sub Workbook_Open()
        Application.OnKey "^{END}", "GoToLastCell"
    End Sub
    

    Это позволит зарегистрировать ваш ярлык для нашей собственной функции "GoToLastCell".
    Если вы хотите использовать другой ярлык, выберите одну из возможностей, перечисленных здесь.

  3. Вставьте новый модуль в левую панель, откройте его и вставьте этот код.

    Function GoToLastCell()
        Set Lastrow = Cells.Find(what:="*", after:=[A1], searchorder:=xlByRows, SearchDirection:=xlPrevious)
        Lastrow.Select
    End Function
    

    Он определяет последнюю ячейку и выбирает ее. Сохраните свою работу и снова откройте рабочую книгу, чтобы включить ее.
    Нажмите CTRL+END, чтобы найти настоящую последнюю ячейку.


Существует разница между параметрами поиска xlByRows и xlByColumns . Смотрите результат.

             xlByRows                           xlByColumns

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .