Имя последнего столбца в excel

How to find the last column in a row that has data. This includes selecting that column or a cell in it, returning the column number, and getting data from that column.

Sections:

Find the Last Column with Data

Select the Last Cell

Select the Entire Column

Get the Number of the Last Column

Get the Data from the Last Column

Notes

Find the Last Column with Data

Cells(1, Columns.Count).End(xlToLeft)

431e69acb27d2882f7c9d3e591668613.jpg

All you have to change to make this work for you is the 1.

This is the basic method that you use to return the last cell in a row that has data. That means that the cell will be in the last column that has data.

The 1 in the above code is the number of the row that you want to use when searching for the last column that has data. Currently, this code looks in row 1 and finds the last column in row 1 that has data. Change this to any number you want.

This doesn’t seem very useful right now, but, in practice, it is often used within a loop that goes through a list of rows and you can then set this code to find the last column of data for each row without having to manually change this number.

Columns.Count puts the total number of columns in for that argument of the Cells() function. This tells Excel to go to the very last cell in the row, all the way to the right.

Then, End(xlToLeft) tells Excel to go to the left from that last cell until it hits a cell with data in it.

This basic format is also used to find the last row in a column.

Now, let’s look at how to get useful information from this code.

Select the Last Cell

The first thing that you might want to do is to select the cell that has data in the last column of a row.

Cells(1, Columns.Count).End(xlToLeft).Select

fda93088fec927d3a8259fa3cfb6cf54.jpg

Select is what selects that last cell in the row that has data.

This is exactly the same as the first piece of code except we added Select to the end of it.

1 is the row that is being checked.

Select the Entire Column

This selects the entire column where the last cell with data is found within a particular row.

Cells(1, Columns.Count).End(xlToLeft).EntireColumn.Select

7d8343740427b93dc5a2a8bcc1ee9b0c.jpg

EntireColumn is added to the base code and that is what references, well, the entire column.

Select is added to the end of EntireColumn and that is what does the actual «selecting» of the column.

1 is the row that is being checked.

Get the Number of the Last Column

Let’s get the number of the last column with data. This makes it easier to do things with that column, such as move one to the right of it to find the next empty cell in a row.

Cells(1, Columns.Count).End(xlToLeft).Column

9cf4b0781eb60003d98f7ba87283794b.jpg

Column is appended to the original code in order to give us the number of the column that contains the last piece of data in a row.

This is rather useless on its own though, so let’s put it into a variable so it can be used throughout the macro.

last_col = Cells(1, Columns.Count).End(xlToLeft).Column

8eb55f6df072cb0a80779790bccc8816.jpg

The number of the last column is now stored in the variable last_col and you can now use that variable to reference this number.

1 is the row that is being checked.

Get the Data from the Last Column

Return any data contained in the cell in the last column.

Cells(1, Columns.Count).End(xlToLeft).Value

16fcf6c6b0f5e5f7874e29b4e626c0de.jpg

Value is added to the end of the base code in order to get the contents of the cell.

This is rather useless in its current form so let’s put it into a variable.

cell_value = Cells(1, Columns.Count).End(xlToLeft).Value

6844d187a3066452ac2102510c5eaf93.jpg

Now, the variable cell_value will contain anything that is in the last cell in the row.

1 is the row that is being checked.

Notes

The basic format for finding the last cell that has data in a row is the same and is the most important part to remember. Each piece of information that we want to get from that last cell simply requires one or two things to be added to the end of that base code.

Download the attached file to work with these examples in Excel.

Similar Content on TeachExcel

Get the Last Row using VBA in Excel

Tutorial:
(file used in the video above)
How to find the last row of data using a Macro/VBA in Exce…

Next Empty Row Trick in Excel VBA & Macros

Tutorial:
A simple way to find the next completely empty row in Excel using VBA/Macros, even if som…

How to Add a New Line to a Message Box (MsgBox) in Excel VBA Macros

Tutorial: I’ll show you how to create a message box popup window in Excel that contains text on mult…

Loop Through an Array in Excel VBA Macros

Tutorial:
I’ll show you how to loop through an array in VBA and macros in Excel.  This is a fairly…

Filter Data in Excel to Show Only the Top X Percent of that Data Set — AutoFilter

Macro: This Excel macro filters a set of data in Excel and displays only the top X percent of tha…

Sort Data Left to Right in Excel

Tutorial: How to sort columns of data in Excel.  This is the same as sorting left to right.
This wi…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Узнать последнюю строку можно следующими примерами:

1.

Код 1C v 8.х

 Сообщить(appExcel.WorkSheets(1).UsedRange.Row); 

2. метод определяет, когда закончились данные на листе:

SpecialCells(11) — «последняя» ячейка

Например, если нужен номер строки последней ячейки,

Код 1C v 8.х

 LastRow=ExcelApp.Cells(1,1).SpecialCells(11).Row; 

Для проверки нажмите в проверяемом файле ctrl+end. Посмотрите на какой строке остановится курсор.

Узнать последнюю колонку можно следующими примерами:

1.

Код 1C v 8.х

 Сообщить(appExcel.WorkSheets(1).UsedRange.Columns); 

2.

Код 1C v 8.х

 LastCol=ExcelApp.Cells(1,1).SpecialCells(11).Columns; 

Информация взята с сайта http://helpf.pro

Подпишитесь на нашу рассылку новостей

Хотите узнать больше по этому вопросу?

Подпишитесь на нашу рассылку новостей

Подписаться

Чтобы задать вопрос или предложить тему статьи, нажмите на кнопку ниже:

Предложить статью

На чтение 3 мин. Просмотров 13 Опубликовано 20.05.2021

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

Найдите последнюю строку или столбец с данными с помощью кода VBA
Найдите и выберите последнюю строку или столбец с данными с помощью Kutools for Excel


Содержание

  1. Найти последнюю строку или столбец с данными с помощью кода VBA
  2. Найти и выберите последнюю строку или столбец с данными с помощью Kutools for Excel
  3. Найдите и выберите последнюю строку или столбец с данными с помощью Kutools for Excel

Найти последнюю строку или столбец с данными с помощью кода VBA

Большинство из нас может подумать о том, чтобы найти последнюю ячейку, нажав Ctrl + End клавиши, чтобы найти последнюю строку и столбец, но сочетание клавиш не найдет ячейку с точным значением, если некоторые ячейки имеют форматирование ниже диапазона данных. Итак, используйте следующий код VBA:

1 . Активируйте свой рабочий лист, на котором вы хотите определить последнюю строку или столбец с данными.

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

3 . Затем нажмите Insert > Module и вставьте следующий код в окно модуля .

Код VBA: найти последнюю строку с данными

4 . Затем нажмите клавишу F5 , чтобы запустить этот код, и появится окно подсказки, в котором будет указан номер строки используемого диапазона. См. Снимок экрана:

5 . Продолжайте нажимать кнопку OK , на этот раз номер последней строки со значениями был показан, как показано на следующем снимке экрана:

Примечание. Чтобы найти последний столбец с данными, примените этот код:

Код VBA: найти последний столбец с данными


Найти и выберите последнюю строку или столбец с данными с помощью Kutools for Excel

Если вы хотите напрямую найти и выбрать последнюю строку или столбец с данными в Excel, Выбрать последний Строка и утилиты Выбрать последний столбец из Kutools of Excel могут вам помочь. Пожалуйста, сделайте следующее.

Перед применением Kutools for Excel , пожалуйста, сначала загрузите и установите его .

1. Если вы хотите найти и выбрать последнюю строку с данными, нажмите Kutools > Выбрать > Выбрать последнюю ячейку > Последняя строка . См. Снимок экрана:

Примечание : для поиска и выбора последнего столбца с данными нажмите Kutools > Выберите > Выбрать последнюю ячейку > Последний столбец .

Затем последняя строка или столбец с данными на текущем листе найдена и немедленно выбрана.

Если вы хотите получить 30-дневную бесплатную пробную версию этой утилиты, пожалуйста щелкните, чтобы загрузить его , а затем перейдите к применению операции в соответствии с указанными выше шагами.


Найдите и выберите последнюю строку или столбец с данными с помощью Kutools for Excel



Номер последнего столбца в Экселе

Я
   Злопчинский

05.07.18 — 18:10

77, читаем эксель

определяем границы читаемых данных

Строк    = Excel.Cells.SpecialCells(11).Row;    // строка последней ячейки

Столбцов= Excel.Cells.SpecialCells(11).Column; // столбец последней ячейки  

.

получается криво. В частности, количество столбцов определяется неверно, так как присутсвует столбец. который по всей «высоте» не заполнен данными, и после этого пустого столбца тоже есть столбцы с данными.

Вышеприведенное определение последнего столбца дает номер последнего заполненного столбца ПЕРЕД пустым столбцом, а это явно не все данные —

вопрос: как правильно определить самый поледний правый столбец с данными?

   Базис

1 — 05.07.18 — 18:34

То есть у тебя в первых строках 3 столбца заполнено, а ниже

— сотня?

2 варианта попробуй:

1. Пересохранить файл, вдруг МС пересчитывает SpecialCells.

2. Функцию на VBA, цикл по строкам, цикл по столбцам.

Критерием конца цикла по строкам я брал пустые подряд 20 строк. Но этот код был на 1Сике.

   Злопчинский

2 — 05.07.18 — 18:54

(1) ТТН в виде эксельного файла. куча столбцов/ячеек. читаю — как выше — до 85 столбца и все. хотя есть справа еще столбцы и нужная ячейка в 91 столбце. оказалось 86 столбец по всей высоте — пустой. СпешалЦелс выдавал 85 столбцов.

   Злопчинский

3 — 05.07.18 — 18:55

1. не пойдет, сильно много файлов и вообще противоречит моему чувству прекрасного.

2. бяка.

   Злопчинский

4 — 05.07.18 — 19:15

как-то вот так типа наверное

Excel_Лист = Excel.Worksheets(i);//просмотрим ячейки одного листа

первИспСтрока = Excel_Лист.UsedRange.Row;

ВсегоСтрок = первИспСтрока + Excel_Лист.UsedRange.Rows.Count -1;

первИспСтолбец = Excel_Лист.UsedRange.Column;

ВсегоСтолбцов = первИспСтолбец + Excel_Лист.UsedRange.Columns.Count -1;

Excel: метод SpecialCells неверно определяет последний столбец. Помогите!!!

   Базис

5 — 05.07.18 — 19:15

(2) Если у тебя постоянный формат, то храни ширину как параметр прямо в коде или рядом. Используй функцию «АНеТТНЛиВыМнеПодсунули»

   Злопчинский

6 — 05.07.18 — 19:19

(5) это понятно, но некузяво (примерно так и сделал в параметрах функции).

   Злопчинский

7 — 05.07.18 — 19:20

.. и как максимально быстро считать Эксель в ТЗ..? поячеечное чтение из экселя — очень долго…

   Базис

8 — 05.07.18 — 20:06

(6) Шум на входе приводит к шуму на выходе.

Более того, пользователь (нет, тот кто несёт вред вместо пользы — это вредзователь) сможет создать достаточно кривой бланк xls, который читать можно будет только полным перебором ячеек.

(7) Забыл. Именно с семёркой я работал с неприлично большими файлами. Что-то брал у УжасБухгалтера и быстренько допиливал.

   Fragster

9 — 05.07.18 — 20:16

UsedRange()?

А вообще бывает так, что область данных в файле принудительно задают вместо автомата, но не помню, где это менять.

   mistеr

10 — 05.07.18 — 23:55

(7) Через ADO, если структура регулярная и плоская.

   Garykom

11 — 06.07.18 — 00:06

(0) Самый лучший вариант знаешь какой?

Выкинуть эксель нафик и файлы его формата тоже.

Нынче 21 век и пора уже использовать json или хотя бы xml и специальные системы для создания/редактирования/просмотра структурированных упорядоченных данных.

   Злопчинский

12 — 06.07.18 — 00:10

(11) Скажи это бюджету и всяким тендерам. Работаем с тем, что получаем, а получаем сотни ТОРГ12 и/или ТТН в виде экселевских файлов это и есть максимальный вариант автоматизации для участника цепочки передачи тмц.

   mistеr

13 — 06.07.18 — 00:12

(12) VBA скриптом внутри Экселя разобрать всю сотню и слить в один текстовый. Потом с спокойно, с комфортом загрузить.

   blutang

14 — 06.07.18 — 00:29

SpecialCells(11).Address даёт букву на самом деле последнего столбца.

   Злопчинский

15 — 06.07.18 — 00:44

(13) Я тут в одной ветке (ибо сам не спец) попросил файл порезать на части (кстати, не забыть оплатить надо) — ну да, режет скрипт на части. только GUI серверный лег (Разрезать большой Excel-файл с кучей типовых ТОРГ12 по одной). Спеца для написания на ВБА дольше будет найти чем тупо по 1С-ному сделать все..

   blutang

16 — 06.07.18 — 00:45

LastCellAddress = Cells.SpecialCells(11).Address

LastColumnName = Mid(LastCellAddress, 2, InStr(1, LastCellAddress, «$»))

LastColumnNumber = Columns(LastColumnName).Column

   Злопчинский

17 — 06.07.18 — 00:45

(14) то есть SpecialCells(11) вернет 85 столбец, а SpecialCells(11).Address — даст букву 115 столбца?

   blutang

18 — 06.07.18 — 00:45

да, сам проверил и удивился

   Злопчинский

19 — 06.07.18 — 06:37

(18) однако… надо будет проверить…

и потом буквы столбца преобразовывать в число столбца.

а если включить в экселе настройку вывода адреса столбцов в виде чисел, а не букв, интересно что будет…

   Кирпич

20 — 06.07.18 — 09:49

(15) Такая делилка делается за полчаса на Lazarus. Рекомендую. Там есть хорошая либа для excel. Неделю уже страдаешь из за такой ерунды.

   patapum

21 — 06.07.18 — 10:07

(0) попробовал записать макрос нажатия Ctrl+End

дало: ActiveCell.SpecialCells(xlLastCell).Select

возможно, xlLastCell тебя спасет?

   Вафель

22 — 06.07.18 — 10:13

xlLastCell = 11

   Вафель

23 — 06.07.18 — 10:15

   Злопчинский

24 — 06.07.18 — 10:22

(20) да сделано уже давно. но перфекционизм не дает спать спокойно.. встаю ночью.. брожу.. руки текладу просят… ;-)

  

blutang

25 — 06.07.18 — 11:02

(19) в (16) уже всё преобразовано :) А настройка вывода ничего не изменит: Address всё равно в буквах столбцы выдаст.

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

Найдите последнюю строку или столбец с данными с помощью кода VBA
Найдите и выберите последнюю строку или столбец с данными с помощью Kutools for Excel


Найдите последнюю строку или столбец с данными с помощью кода VBA

Большинство из нас может подумать о том, чтобы найти последнюю ячейку, нажав Ctrl + Конец клавиши, чтобы найти последнюю строку и столбец, но сочетание клавиш не найдет ячейку с точным значением, если есть некоторые ячейки, форматирование которых находится ниже диапазона данных. Итак, используйте следующий код VBA:

1. Активируйте свой рабочий лист, на котором вы хотите определить последнюю строку или столбец с данными.

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

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

Код VBA: найти последнюю строку с данными

Sub sblastRowOfASheet()
'Update 20140603
Dim xLastRow As Long
xLastRow = Application.ActiveSheet.Cells.SpecialCells(xlLastCell).Row
MsgBox "Last Used Row: " & xLastRow
Do While Application.CountA(ActiveSheet.Rows(xLastRow)) = 0 And xLastRow <> 1
    xLastRow = xLastRow - 1
Loop
MsgBox "Last Row with Data: " & xLastRow
End Sub

4, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится окно подсказки, в котором будет указан номер строки используемого диапазона. Смотрите скриншот:

документ-найти-последняя-строка1

5. Продолжайте нажимать OK , на этот раз последний номер строки со значениями был отображен, как показано на следующем снимке экрана:

документ-найти-последняя-строка1

Примечание: Чтобы найти последний столбец с данными, примените этот код:

Код VBA: найти последний столбец с данными

Sub sblastcolumnOfASheet()
'Update 20140603
Dim xLastcolumn As Long
xLastcolumn = Application.ActiveSheet.Cells.SpecialCells(xlLastCell).Column
MsgBox "Last Used column: " & xLastcolumn
Do While Application.CountA(ActiveSheet.Columns(xLastcolumn)) = 0 And xLastcolumn <> 1
    xLastcolumn = xLastcolumn - 1
Loop
MsgBox "Last column with Data: " & xLastcolumn
End Sub

Найдите и выберите последнюю строку или столбец с данными с помощью Kutools for Excel

Если вы хотите напрямую найти и выбрать последнюю строку или столбец с данными в Excel, Выбрать последнюю строку Выбрать последний столбец коммунальные услуги Kutools из Excel могу помочь тебе. Пожалуйста, сделайте следующее.

1. Если вы хотите найти и выбрать последнюю строку с данными, нажмите Кутулс > Выберите > Выбрать последнюю ячейку > Последняя строка. Смотрите скриншот:

Внимание: Чтобы найти и выбрать последний столбец с данными, нажмите Кутулс > Выберите > Выбрать последнюю ячейку > Последний столбец

Затем будет найдена и немедленно выбрана последняя строка или столбец с данными на текущем листе.

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Найдите и выберите последнюю строку или столбец с данными с помощью Kutools for Excel



Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Loading…

Дата занятия: 09 апреля 2020 г.

Тема занятия: «Работа с электронными таблицами Excel».

Рекомендации:

Обучающие изучают предоставленный материал и прорабатывают материал самостоятельно.

Для занятия понадобится:

 Доступ к видеохостингу «Уoutube». Доступ к табличный редактору Excel.

Подготовка к занятию:

 Откройте «Уoutube».  Откройте табличный редактор Excel.

Цель работы: изучить табличный редактор Excel., выполнить практическую работу в данном редакторе.

Краткие теоретические материалы по теме работы

Табличный редактор Excel

Для того, чтобы ознакомиться с табличным редактором Excel наглядно, предлагаю пройти по ссылкам и посмотреть видео:

Возможно вы знаете, что программа Excel входит в пакет офисных программ Microsoft Office и является, пожалуй, самой известной и популярной программой из категории электронных таблиц.

Excel стал своеобразным стандартом в индустрии и одним из основных преимуществ программы является ее универсальность. Хоть и есть некоторые общепринятые сферы, в которых используется Excel, тем не менее, возможности программы если и не безграничны, то очень широки.

Вот основные сферы, в которых применяется Excel:

  • произведение расчетов практически любой сложности;
  • автоматизация однотипных расчетов;
  • создание отчетов;
  • организация списков и перечней;
  • анализ и обработка числовых данных;
  • создание диаграмм и графиков на основе данных;
  • создание рисунков и схем.

И еще много чего другого, ведь Excel поддерживает язык программирования VBA (Visual Basic for Applications), а это означает, что на базе Excel можно создавать свои программы под какие-то узко специализированные задачи.

И все эти возможности доступны каждому!

В среде обычных пользователей бытует мнение, что Excel — это сложная и трудно осваиваемая программа… Но это совсем не так и мы с вами сделаем в этом курсе пять простых шагов, которые, как я надеюсь, развеют миф о «сложности Эксель».

Я считаю, что практика — лучший учитель и все новое следует осваивать именно на конкретных примерах, а не в теории. Поэтому данный мини-курс будет практическим. Все нужные нам инструменты мы будем осваивать по мере необходимости.

Но как бы мне не хотелось миновать теорию, все же есть некоторые базовые вещи, о которых необходимо рассказать в самом начале, так как в дальнейшем мы будем к ним постоянно обращаться. Я имею в виду интерфейс (внешний вид) программы, а также некоторые ее ключевые элементы.

Все документы, созданные в программе Excel, называются книгами и файлы рабочих книг имеют расширение .xlsx (в более старых версиях Excel расширение было .xls).

Задания для проверки.

Технология выполнения задания:

  1. Запустите программу Microsoft Excel. Внимательно рассмотрите окно программы.

Документы, которые создаются с помощью EXCEL , называются рабочими книгами и имеют расширение . XLS . Новая рабочая книга имеет три рабочих листа, которые называются ЛИСТ1, ЛИСТ2 и ЛИСТ3. Эти названия указаны на ярлычках листов в нижней части экрана. Для перехода на другой лист нужно щелкнуть на названии этого листа.

Действия с рабочими листами:

  • Переименование рабочего листа.Установить указатель мыши на корешок рабочего листа и два раза щелкнуть левой клавишей или вызвать контекстное меню и выбрать команду Переименовать. Задайте название листа «ТРЕНИРОВКА»
  • Вставка рабочего листа.Выделить ярлычок листа «Лист 2», перед которым нужно вставить новый лист, и с помощью контекстного меню вставьте новый лист и дайте название «Проба» .
  • Удаление рабочего листа. Выделить ярлычок листа «Лист 2», и с помощью контекстного меню удалите.

 Ячейки и диапазоны ячеек.

 Рабочее поле состоит из строк и столбцов. Строки нумеруются числами от 1 до 65536. Столбцы обозначаются латинскими буквами: А, В, С, …, АА, АВ, … , IV , всего – 256. На пересечении строки и столбца находится ячейка. Каждая ячейка имеет свой адрес: имя столбца и номер строки, на пересечении которых она находится. Например, А1, СВ234, Р55.

Для работы с несколькими ячейками их удобно объединять их в «диапазоны».

Диапазон – это ячейки, расположенные в виде прямоугольника. Например, А3, А4, А5, В3, В4, В5. Для записи диапазона используется «:»: А3:В5

8:20 – все ячейки в строках с 8 по 20.

А:А – все ячейки в столбце А.

Н:Р – все ячейки в столбцах с Н по Р.

В адрес ячейки можно включать имя рабочего листа: Лист8!А3:В6.

  1. Выделение ячеек в Excel

Что выделяем

Действия

Одну ячейку

Щелчок на ней или перемещаем выделения клавишами со стрелками.

Строку

Щелчок на номере строки.

Столбец

Щелчок на имени столбца.

Диапазон ячеек

Протянуть указатель мыши от левого верхнего угла диапазона к правому нижнему.

Несколько диапазонов

Выделить первый, нажать SCHIFT + F 8, выделить следующий.

Всю таблицу

Щелчок на кнопке «Выделить все» (пустая кнопка слева от имен столбцов)

 Можно изменять ширину столбцов и высоту строк перетаскиванием границ между ними.

Воспользуйтесь полосами прокрутки для того, чтобы определить сколько строк имеет таблица и каково имя последнего столбца.
Внимание!!!
 Чтобы достичь быстро конца таблицы по горизонтали или вертикали, необходимо нажать комбинации клавиш: Ctrl+→ — конец столбцов или Ctrl+↓ — конец строк. Быстрый возврат в начало таблицы — Ctrl+Home.

В ячейке А3 Укажите адрес последнего столбца таблицы.

Сколько строк содержится в таблице? Укажите адрес последней строки в ячейке B3.

  1. В EXCEL можно вводить следующие типы данных:
  • Числа.
  • Текст (например, заголовки и поясняющий материал).
  • Функции (например, сумма, синус, корень).
  • Формулы.

Данные вводятся в ячейки. Для ввода данных нужную ячейку необходимо выделить. Существует два способа ввода данных:

  • Просто щелкнуть в ячейке и напечатать нужные данные.
  • Щелкнуть в ячейке и в строке формул и ввести данные в строку формул.

Нажать ENTER .

Введите в ячейку N35 свое имя, выровняйте его в ячейке по центру и примените начертание полужирное. 
Введите в ячейку С5 текущий год, используя строку формул. 

  1.         Изменение данных.
  • Выделить ячейку и нажать F 2 и изменить данные.
  • Выделить ячейку e щелкнуть в строке формул и изменить данные там.

Для изменения формул можно использовать только второй способ.

Измените данные в ячейке N35, добавьте свою фамилию. используя любой из способов. 

Результаты задания на обратную связь просьба записать в электронном формате, правильно оформить, указать, дату, тему, цель и прислать на электронную почту преподавателю  rock94@bk.ru вашего объединения или в группу мессенджера WhatsApp.

На чтение 10 мин. Просмотров 47.7k.

Итог: узнаете, как найти последнюю строку, столбец или ячейку в таблице с использованием трех различных методов на VBA. Используемый метод зависит от макета данных и от того, содержит ли лист пустые ячейки.

Уровень мастерства: средний

3 способа найти последнюю заполненную ячейку VBA

Видео: 3 части серии как найти последнюю ячейку с VBA

Видео лучше всего просматривать в полноэкранном режиме HD

Загрузите файл, содержащий код:

Find Last Cell VBA Примеры.xlsm (79.6 KB)

Поиск последней ячейки — все о данных

Поиск последней используемой строки, столбца или ячейки — это одна из самых распространенных задач при написании макросов и приложений VBA. Как и все в Excel и VBA, есть много различных способов.

Выбор правильного метода в основном зависит от того, как выглядят ваши данные.

В этой статье я объясняю три различных метода VBA объекта Range, которые мы можем использовать для поиска последней ячейки на листе. Каждый из этих методов имеет плюсы и минусы, а некоторые выглядят страшнее других. 🙂

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

#1 – The Range.End() Method

Range.End() очень похож на сочетание клавиш Ctrl+Arrow. В VBA можно использовать этот метод, чтобы найти последнюю не пустую ячейку в одной строке или столбце.

Диапазон.Пример кода End VBA

Sub Последняя_ячейка()
'Найти последнюю не пустую ячейку в одной строке или столбце

Dim lRow As Long
Dim lCol As Long
    
    'Найти последнюю не пустую ячейку в столбце А(1)
    lRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    'Найти последнюю непустую ячейку в строке 1
    lCol = Cells(1, Columns.Count).End(xlToLeft).Column
    
    MsgBox "Последняя строка: " & lRow & vbNewLine & _
            "Последний столбец: " & lCol
  
End Sub

Чтобы найти последнюю использованную строку в столбце, этот
метод начинается с последней ячейки столбца и идет вверх (xlUp), пока не найдет
первую непустую ячейку.

Оператор Rows.Count возвращает количество всех строк на рабочем листе. Поэтому мы в основном указываем последнюю ячейку в столбце A листа (ячейка A1048567) и поднимаемся до тех пор, пока не найдем первую непустую ячейку.

Это работает так же с поиском последнего столбца. Он начинается с последнего столбца в строке, затем идет влево, пока в столбце не будет найдена последняя непустая ячейка. Columns.Count возвращает общее количество столбцов на листе. Итак, мы начинаем с последнего столбца и идем налево.

Аргумент для метода End указывает, в каком направлении идти.
Возможные варианты: xlDown, xlUp, xlToLeft, xlToRight.

Плюсы Range.End

  • Range.End прост в использовании и понимании, так как он работает так же, как сочетания клавиш Ctrl+Arrow.
  • Может использоваться для поиска первой пустой ячейки или последней непустой ячейки в одной строке или столбце.

Минусы Range.End

  • Range.End работает только с одной строкой или столбцом. При наличии диапазона данных, содержащего пробелы в последней строке или столбце, может быть трудно определить, в какой строке или столбце выполнять метод.
  • Если вы хотите найти последнюю используемую ячейку, то вы должны оценить по крайней мере два оператора. Один, чтобы найти последнюю строку и один, чтобы найти последний столбец. Затем их можно объединить для ссылки на последнюю ячейку.

Вот справочные статьи для Range.End

  • Страница справки MSDN для Range.End
  • Справка MSDN для перечислений xlDirection

#2 – The Range.Find() Method

Последнее значение в столбце Excel

Метод Range.Find — я предпочитаю этот способ, чтобы найти последнюю строку, столбец или ячейку. Он самый универсальный, но и самый страшный.

Последнее значение в столбце Excel

У Range.Find много аргументов, но пусть это вас не пугает. Когда вы знаете, что они делают, вы можете использовать Range.Find для многих вещей в VBA.

Range.Find — это в основном способ программирования меню «Find» в Excel. Он делает то же самое, и большинство аргументов Range.Find являются опциями в меню Find.

Последнее значение в столбце Excel

Пример кода Range.Find

Ниже
приведен код для поиска последней непустой строки.            

Sub Последняя_ячейка_Find()
'Находит последнюю непустую ячейку на листе / диапазоне.

Dim lRow As Long
Dim lCol As Long
    
    lRow = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row
    
    MsgBox "Последняя строка: " & lRow

End Sub

Метод Range.Find. Пояснения

Метод Find ищет первую непустую ячейку («*»). Звездочка представляет
собой символ подстановки, который ищет любой текст или числа в ячейке.

Начиная с ячейки A1, он перемещается назад (xlPrevious) и
фактически начинает поиск в самой последней ячейке на листе. Затем он
перемещается справа налево (xlByRows) и проходит по каждой строке, пока не
найдет непустую ячейку. При обнаружении непустого он останавливается и
возвращает номер строки.

Range.Find VBA Excel

Вот подробное объяснение каждого аргумента.

  • What:=”*” — звездочка — это символ подстановки, который находит любой текст или число в ячейке. Это в основном то же самое, что и поиск непустой ячейки.
  • After:=Range(“A1”)— начать поиск после ячейки А1, первой ячейки на листе. Это означает, что A1 не будет искать. Поиск начнется после A1, и следующая ячейка, которую он ищет, зависит от SearchOrder и SearchDirection. Этот аргумент можно изменить, чтобы он начинался в другой ячейке, просто помните, что поиск фактически начинается в ячейке после указанной.
  • LookAt: = xlPart — это будет смотреть на любую часть текста внутри ячейки. Другой вариант — xlWhole, который будет пытаться соответствовать всему содержимому ячейки.
  • LookIn: = xlFormulas — Это заставляет Find искать в формулах, и это важный аргумент. Другой вариант — xlValues, который будет искать только значения. Если у вас есть формулы, которые возвращают пробелы (= IF (A2> 5, «Ok», «»), то вы можете считать это непустой ячейкой. При указании LookIn в качестве xlFormulas эта формула будет считаться непустой, даже если возвращаемое значение пустое.
  • SearchOrder: = xlByRows — это говорит Find, чтобы искать через каждую целую строку прежде, чем перейти к следующей. Направление поиска слева направо или справа налево зависит от аргумента SearchDirection. Другой вариант здесь — xlByColumns, который используется при поиске последнего столбца.
  • SearchDirection: = xlPrevious — указывает направление поиска. xlPrevious означает, что он будет искать справа налево или снизу вверх. Другой вариант — xlNext, который перемещается в противоположном направлении.
  • MatchCase: = False — это говорит Find, чтобы не рассматривать заглавные или строчные буквы. Если установить значение True, это поможет. Этот аргумент не является необходимым для этого сценария.

Да, я знаю, что это много, но надеюсь, у вас будет лучшее понимание того, как использовать эти аргументы, чтобы найти что-нибудь на листе.

Плюсы
Range.Find

  • Find ищет во всем диапазоне последнюю непустую строку или столбец. Он НЕ ограничен одной строкой или столбцом.
  • Последняя строка в наборе данных может содержать пробелы, и Range.Find все равно найдет последнюю строку.
  • Аргументы могут использоваться для поиска в разных направлениях и для определенных значений, а не только пустых ячеек.

Минусы Range.Find

  • Это ужасно. Метод содержит 9 аргументов. Хотя требуется только один из этих аргументов (Что), вы должны привыкнуть использовать хотя бы первые 7 аргументов. В противном случае метод Range.Find по умолчанию будет использовать ваши последние использованные настройки в окне поиска. Это важно. Если вы не укажете необязательные аргументы для LookAt, LookIn и SearchOrder, тогда метод Find будет использовать те параметры, которые вы использовали последними в окне поиска Excel.
  • Нахождение последней ячейки требует двух утверждений. Один, чтобы найти последний ряд и один, чтобы найти последний столбец. Затем вы должны объединить их, чтобы найти последнюю ячейку.

Macro Recorder выручит!

Range.Find — все еще мой любимый метод для нахождения последней ячейки из-за ее универсальности. Но нужно много напечатать и запомнить. К счастью, вам это не нужно.

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

  1. Запустить макро рекордер
  2. Нажмите Ctrl + F
  3. Затем нажмите кнопку «Найти далее»

Код для метода Find со всеми аргументами будет сгенерирован устройством записи макросов.

Используйте пользовательскую функцию для метода Find

Вы также можете использовать пользовательскую функцию (UDF) для метода поиска. Последняя функция Ron de Bruin — прекрасный пример. Вы можете скопировать эту функцию в любой проект или модуль кода VBA и использовать ее для возврата последней строки, столбца или ячейки.

У меня также есть аналогичная функция в примере рабочей книги. Моя функция просто имеет дополнительные аргументы для ссылки на лист и диапазон для поиска.

Вот справочные статьи для Range.Find

  • MSDN Help Article for Range.Find Method

#3 – Range.SpecialCells (xlCellTypeLastCell)

Метод SpecialCells делает то же самое, что и нажатие сочетания клавиш Ctrl + End, и выбирает последнюю использованную ячейку на листе.

Пример кода SpecialCells (xlCellTypeLastCell)

Sub Range_SpecialCells_Method()

    MsgBox Range("A1").SpecialCells(xlCellTypeLastCell).Address
      
End Sub

На самом деле это самый простой способ найти последнюю использованную ячейку. Однако этот метод находит последнюю использованную ячейку, которая может отличаться от последней непустой ячейки.

Часто вы будете нажимать Ctrl + End на клавиатуре и попадете в какую-нибудь ячейку вниз в конце листа, который определенно не используется. Это может произойти по ряду причин. Одной из распространенных причин является то, что свойства форматирования для этой ячейки были изменены. Простое изменение размера шрифта или цвета заливки ячейки помечает ее как использованную ячейку.

Плюсы Range.SpecialCells

  • Вы можете использовать этот метод, чтобы найти «используемые» строки и столбцы в конце листа и удалить их. Сравнение результата Range.SpecialCells с результатом Range.Find для непробелов может позволить вам быстро определить, существуют ли какие-либо неиспользуемые строки или столбцы на листе.
  • Удаление неиспользуемых строк / столбцов может уменьшить размер файла и увеличить полосу прокрутки.

Минусы Range.SpecialCells

  • Excel только сбрасывает последнюю ячейку при сохранении книги. Поэтому, если пользователь или макрос удаляет содержимое некоторых ячеек, этот метод не найдет истинную последнюю ячейку, пока файл не будет сохранен.
  • Он находит последнюю использованную ячейку, а НЕ последнюю непустую ячейку.

Другие методы поиска последней ячейки

Что ж, это должно охватывать основы поиска последней
использованной или непустой ячейки на листе. Если ваш лист содержит объекты
(таблицы, диаграммы, сводные таблицы, слайсеры и т. Д.), Вам может
потребоваться использовать другие методы для поиска последней ячейки. Я объясню
эти методы в отдельном посте.

У меня также есть статья о том, как найти ПЕРВУЮ ячейку в листе.

Пожалуйста, оставьте комментарий ниже, если у вас есть какие-либо вопросы, или вы все еще не можете найти последнюю ячейку. Я буду рад помочь!

Понравилась статья? Поделить с друзьями:
  • Имя последнего столбец в excel
  • Инвентарный номер это excel
  • Имя поля microsoft word это
  • Инвентарную карточку бланк скачать word
  • Имя папки в ячейку excel