Последний столбец диапазона excel

Return the number of columns in a given array or reference

How to Get Excel Last Value in Column

The COLUMNS Function[1] in Excel is an Excel Lookup/Reference function. It is useful for looking up and providing the number of columns in a given reference or array. The COLUMNS function, after specifying an Excel range, will return the number of columns that are contained within that range.

Formula

=COLUMNS(array)

The COLUMNS function in Excel includes only one argument – array. The array argument is a required argument. It is the reference to a range of cells or an array or array formula for which we want the number of columns. The function returns a numerical value.

How to use the COLUMNS Function in Excel?

It is a built-in function that can be used as a worksheet function in Excel. To understand the uses of this function, let’s consider a few examples:

Example 1

Let’s see how this function works when we provide the following references:

COLUMNS Function

Suppose we wish to find out the number of columns in a range. The most basic formula used is = COLUMNS(rng).

In the first reference above, we used the COLUMNS function to get the number of columns from range A6:F6. We got the result as 6 as shown in the screenshot below:

COLUMNS Function - Example 1

So, this function counted the number of columns and returned a numerical value as the result.

When we gave the cell reference B6, it returned the result of 1, as only one reference was given.

COLUMNS Function - Example 1a

Lastly, when we provided the formula F1:F9, it counted the number of columns as 1 and the function returned the result accordingly.

Thus, in this function, “array” can be an array, an array formula, or a reference to a single contiguous group of cells.

COLUMNS Function – Example 2

Using Columns with other formulas: If we wish to get the address of the first cell in a named range, we can use the ADDRESS function together with the ROW and COLUMN functions. The formula to be used is below:

COLUMNS Function - Example 2

What happens in this formula is that the ADDRESS function builds an address based on a row and column number. Then, we use the ROW function to generate a list of row numbers, which are then shifted by adding ROWS(B5:D5)-1, so that the first item in the array is the last row number:

ROW(B5:D5)+ROWS(B5:D5)-1

We do the same for COLUMN and COLUMNS: COLUMN(B5:D5)+COLUMNS(B5:D5)-1

What happens is that the ADDRESS function now collects and returns an array of addresses. If we enter the formula in a single cell, we just get the item from the array, which is the address corresponding to the last cell in a range.

COLUMNS Function – Example 3

Now let’s see how to find out the last column in a range. The data given is as follows:

COLUMNS Function - Example 3a

The formula used is =MIN(COLUMN(A3:C5))+COLUMNS(A3:C5)-1

Using the formula above, we can get the last column that is in a range with a formula based on the COLUMN function.

When we give a single cell as a reference, the COLUMN function will return the column number for that particular reference. However, when we give a range that contains multiple columns, the COLUMN function will return an array that contains all column numbers for the given range.

If we wish to get only the first column number, we can use the MIN function to extract just the first column number, which will be the lowest number in the array.

Once we get the first column, we can just add the total columns in the range and subtract 1, to get the last column number.

The result is shown below:

COLUMNS Function - Example 3b

For a very large number of ranges, we can use the INDEX function instead of the MIN function. The formula would be:

=COLUMN(INDEX(range,1,1))+COLUMNS(range)-1

Click here to download the sample Excel file

Additional Resources

Thanks for reading CFI’s guide to important Excel functions! By taking the time to learn and master these functions, you’ll significantly speed up your financial analysis. To learn more, check out these additional CFI resources:

  • Excel Functions for Finance
  • Advanced Excel Formulas Course
  • Advanced Excel Formulas You Must Know
  • Excel Shortcuts for PC and Mac
  • See all Excel resources

Article Sources

  1. COLUMNS Function

We use  Range.SpecialCells() method in the below VBA Code to find and return details of last used row, column, and cell in a worksheet.

Sample Data:

Sample Data

Syntax:

expression.SpecialCells (Type, Value)

Eg: To return the last used cell address in an activesheet. ActiveSheet.Range(“A1”).SpecialCells(xlCellTypeLastCell).Address

VBA Code:

Declaring Variables:

Variable Data Type Comments
LastRow Long Find and store last used row
LastCol Long store last used column
LastCell String store last used cell address
'Variable Declaration

Dim LastRow As Long, LastCol As Long, LastCell As String

Use SpecialCells function to find last used row/column/cell 

'Find Last Used Row
LastRow = ActiveSheet.Range("A1").SpecialCells(xlCellTypeLastCell).Row

'Find Last Used Column
LastCol = ActiveSheet.Range("A1").SpecialCells(xlCellTypeLastCell).Column

'Find Last Used Cell
LastCell = ActiveSheet.Range("A1").SpecialCells(xlCellTypeLastCell).Address

Concatenate all three variables (LastRow/LastCol/LastCell), add a new line between variables use Chr(10).   Show the final output in an Excel Message box.

'Display the last used row/column/cell

MsgBox "Last Used Row : " & LastRow & Chr(10) & "Last Used Column : " & LastCol & Chr(10) & "Last Used Cell : " & LastCell

Implementation:

Follow the below steps to find the Last Used Row and Last Used Column in Excel VBA

Step 1: Add a shape (Find Last Row/Column/Cell) on your worksheet.  

Step 2: Right-click on “Find Last Row/Column/Cell” and “Assign Macro..”

Step 3: Select “findLastUsedCell”, you can see a list of macros if available in your workbook

Step 4: Save your excel file as “Excel Macro-Enabled Workbook” *.xlsm

Step 5: Click “Find Last Row/Column/Cell” to execute the VBA code.  Code will popup below output for the above given example (Output).

Output:

Выделение диапазонов ячеек в MS EXCEL

​Смотрите также​ «» Then​arr() = Range(«A10″).Resize(2,​ помещаются строки не​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Найти()​

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

Выделяем диапазон смежных ячеек

​ значение.​ один из готовых​ + G на​Перейти​ выбрав первую ячейку​На листе с помощью​.Offset(, 6).Value =​ lc).Value​ циликом, а с​Dim arr(), lc​​ после нажатия клавиши​​ Таким образом, выделился​ ячейки из выделенного​ (графики). Полезно при​

​ также доступна через​. Ознакомьтесь также со​ >​Чтобы выделить 10 лидеров​ форматов, вы можете​ клавиатуре.​.​ или диапазон ячеек,​

​ клавиатуры можно выделить​ .Offset(, 6).Value +​​For i =​​ первого столбца по​ As Long, j​

Выделяем большой диапазон смежных ячеек

​ F8: «Расширить выделенный​ блок A1:B3. Данную​ диапазона. Ячейки в​ вставке данных из​ меню Главная/ Найти​ статьей Применение условного​Изменить правило​ с наибольшим доходом,​ использовать формулу для​В списке​Важно:​ нажать сочетание клавиш​ ячейки (несмежные и​ .Value​ 13 To lr​​ последний, в котором​​ As Long​ фрагмент».​ операцию выделения условно​
​ скрытых столбцах и​ интернета.​ и выделить/ Формулы.​ форматирования с помощью​. Затем настройте параметры​​ выполните указанные ниже​​ применения условного форматирования.​Перейти​ Чтобы выделить именованные ячейки​SHIFT+F8​ смежные), диапазоны, строки​.ClearContents​For j =​ есть данные в​​Dim criteria1, criteria2​​китин​ можно записать: A1​ строках не выделяются.​

Выделяем все ячейки листа

​ОТЛИЧИЯ ПО СТРОКАМ.​ПУСТЫЕ ЯЧЕЙКИ​ формулы.​ в разделе​ действия.​​В этой статье мы​​щелкните имя ячейки​ и диапазоны, необходимо​​, чтобы добавить другую​​ или столбцы.​End If​​ 16 To UBound(arr,​​ строке 10.​criteria1 = Date​: Доброго всем времени​​ потом SHIFT+B3.​​ Эта опция полезна​Анализирует выбранное множество​

Выделяем несмежные ячейки или диапазоны ячеек

​. Выделяет пустые ячейки.​Краткое руководство: применение условного​Отображать каждый значок согласно​​Выделите диапазон, который хотите​​ продемонстрируем несколько способов​ или диапазона, который​ сначала определить их​ несмежную ячейку или​Это статья про выделение​’Cells(i, j).ClearContents’зачем стирать​​ 2)​​Не вижу смысла​criteria2 = Range(«K9»).Value​ суток. Есть задачка,​Диапазоны можно выделять и​ для работы со​ ячеек и выделяет​​ Конечно, не все​​ форматирования​ этим правилам​ отформатировать. На рисунке​ применения готовых правил​ требуется выделить, либо​ имена на листе.​

Выделяем всю строку или весь столбец

​ диапазон ячеек к​ (Selection) ячеек с​ и так пустую​If arr(1, j)​ его переделывать, т.к.​lc = Cells(10,​ одно из условий​​ стрелками клавиатуры. Щелкните​​ структурами или со​ те, которые отличаются​ пустые ячейки на​Применение условного форматирования с​. В данном случае​ выше это столбец​ условного форматирования. Существуют​ введите ссылку на​​ Сведения об именовании​​ области выделения. Чтобы​ целью изменения Формата​ ячейку?​ = criteria1 And​​ так даже удобнее​​ Columns.Count).End(xlToLeft).Column​ которой является выделение​ по ячейке D3,​

Выделяем последнюю ячейку листа, которая содержит данные или форматирование

​ списком, к которому​ от ячеек самого​ листе будут выделены,​ помощью формулы​​ мы так настроили​​Доход​ тысячи возможных комбинаций,​ ячейку в поле​ ячеек и диапазонов​ остановить выделение, повторно​ ячеек, а не​End With​ arr(2, j) =​ искать проблемы, если​arr() = Rows(«10:11»).Value​ одного столбца в​ а теперь удерживая​ применен фильтр.​ левого столбца (сравнение​ т.к. их очень​Применение условного форматирования для​

excel2.ru

Выделение отдельных ячеек или диапазонов

​ правило, чтобы все​​.​ поэтому смело экспериментируйте,​Ссылка​ см. в статье​ нажмите сочетание клавиш​ про выделение (Highlight)​’Application.EnableEvents = True​ criteria2 Then​ будут, т.к. будет​For j =​ зависимости от дня​ SHIFT, нажмите клавишу​УСЛОВНЫЕ ФОРМАТЫ​ производится построчно). Сочетания​ много (пользователь не​ выделения данных в​ значения больше 45 000​На вкладке​ чтобы найти наилучший​.​ Определение и использование​

​SHIFT+F8​ ячеек цветом с​’Exit For​Cells(i, j).Select​ соответствие между листом​ 16 To UBound(arr,​ и способа производства.​ «стрелка вправо» три​.  Выделяет ячейки, к​ клавиш быстрого вызова:​

Поле имени

​ заполняет все 1048576​ Excel (на английском​

​ считались положительным результатом,​Главная​ вариант. Но при​Например, введите в поле​​ имен в формулах.​​. Невозможно исключить отдельные​

​ помощью Условного форматирования.​​’End If​Application.EnableEvents = False​ и массивом.​ 2)​ День это СЕГОДНЯ(),​ раза пока курсор​ которым применено Условное​  ​ строк). EXCEL выделяет​

Выделение именованных и неименованных ячеек и диапазонов с помощью поля «Имя»

​ языке)​​ значения от 40 000​​выберите​ этом не забывайте​Ссылка​В поле​

  • ​ ячейки или диапазоны​Для того чтобы выделить​’Next j​If Cells(i, j).Value​

    ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Найти()​​If arr(1, j)​ способ производства находится​ не переместится на​​ форматирование (Главная/ Стили/​​Ctrl + ​ пустые ячейки не​Часто приходится искать на​ до 45 000 — нейтральным,​Условное форматирование​

  • ​ о своей аудитории,​значение​Имя​ ячеек из области​ диапазон смежных ячеек,​​Next i​​ <> «» Then​Dim arr(), lc​ = criteria1 And​ в ячейке К9.​ ячейку G3. У​ Условное форматирование)​.​ на всем листе,​ листе ячейки содержащие​​ а все значения​​ >​

    ​ чтобы слишком сложное​​B3​, которое расположено слева​ выделения несмежных ячеек;​ необязательно отрывать руки​​Application.EnableEvents = True​​ Cells(i, j +​ As Long, j​

  • ​ arr(2, j) =​К сожалению нет​ нас выделилась небольшая​ПРОВЕРКА ДАННЫХ​Приведем пример. Имеется 2​ а только на​

    ​ формулы, Условное форматирование,​​ меньше 40 000 — отрицательным.​​Правила отбора первых и​​ представление не помешало​, чтобы выделить эту​​ от строка формул,​​ можно лишь отменить​ с клавиатуры и​

​Application.Calculation = xlCalculationAutomatic​​ 6).Value = Cells(i,​​ As Long​​ criteria2 Then​ времени научится делать​ строка. Теперь все​. Выделяет ячейки, для​ столбца с почти​ определенной области: в​ Проверку данных или​​С помощью параметра​​ последних значений​​ вас понять.​​ ячейку, или​​ выполните одно из​​ все выделение целиком.​ браться за мышку.​Application.ScreenUpdating = True​ j + 6).Value​

Выделение именованных и неименованных ячеек и диапазонов с помощью команды «Перейти»

  1. ​Dim criteria1, criteria2​​Cells(13, j).Resize(Range(«B» &​​ самому, начальство торопит​ еще не отпуская​​ которых проводится проверка​​ одинаковыми данными: значения​​ диапазоне​​ просто пустые ячейки.​​Цветовые шкалы​​ >​Чтобы выделить повторяющиеся элементы​B1:B3​ указанных ниже действий.​

    Изображение ленты Excel

  2. ​Щелкните заголовок строки или​​ Для выделения диапазона​​MsgBox «Всё»​ + Cells(i, j).Value​criteria1 = Date​ Rows.Count).End(3).Row — 12,​Можно просто Select.​​ SHIFT, нажмите клавишу​​ допустимости данных (заданная​

    ​ отличаются только в​​А1:Адрес последней заполненной ячейки​​ Это и многое​​можно выделить значения,​​Первые 10 элементов​ в столбце данных,​​, чтобы выделить диапазон​​Чтобы выделить именованную ячейку​ столбца. Строку или​ достаточно выделить ячейку​End Sub​Cells(i, j).ClearContents​criteria2 = Range(«K9»).Value​​ 1).Select’ Exit For​​ Дальше сам попробую​

    ​ «стрелка вниз» четыре​​ с помощью команды​​ строках​​(Последняя заполненная ячейка​ другое можно быстро​ чтобы показать диапазон​.​ выполните указанные ниже​ из трех ячеек.​​ или диапазон, введите​​ столбец можно выделить,​ — левый верхний​За определенный период времени​Application.EnableEvents = True​lc = Cells(10,​End If​ додумать​​ раза, пока курсор​​ Данные/ Работа с​

​58​​ — ячейка, которая​ найти при помощи​ или сравнить максимальные​Затем вы можете настроить​ действия.​ Чтобы выделить несколько​ имя и нажмите​ выбрав первую ячейку​ угол диапазона, затем​ ведется регистр количества​Exit For​ Columns.Count).End(xlToLeft).Column​​Next j​​Karataev​​ не перейдет на​​ данными/ Проверка данных).​. Выделяем диапазон​

support.office.com

Применение условного форматирования в Excel

​ расположена в самой​ инструмента Выделение группы​ и минимальные показатели​ количество элементов и​Выделите диапазон, в котором​ ячеек или диапазонов,​ клавишу ВВОД.​ строки или столбца​ нажать клавишу​ проданного товара в​End If​arr() = Range(«A10»).Resize(2,​End Sub​: Выделить столбец с​ G7. Таким образом,​ При выборе переключателя​А2:В10​ нижней используемой строке​ ячеек.​ (в данном случае​ цвет заполнения.​ хотите выделить цветом​

​ укажите их в​

​Совет:​ и нажав затем​

Условное форматирование: выбранные элементы

Условное форматирование с трехцветной шкалой

​SHIFT​​ магазине. Необходимо регулярно​Next j​ lc).Value​Karataev​ помощью макроса не​ мы выделили блок​ Всех будут выделены​.​ и в самом​Рассмотрим очень полезный инструмент​ с января по​Если вы применяете условное​ повторяющиеся значения (в​ поле​ Кроме того, можно щелкнуть​ сочетание клавиш​и одну из​

​ отслеживать последний выданный​Next i​For j =​: _Boroda_, я в​ получается — выделяется​ диапазона D3:G7.​ все такие ячейки.​Вызываем инструмент Выделение группы​ крайнем правом заполненном​ Выделение группы ячеек.​ июнь).​ форматирование с использованием​ данном случае это​

Выделение повторяющихся значений цветом

​Ссылка​ стрелку рядом с​CTRL+SHIFT+КЛАВИША СО СТРЕЛКОЙ​ стрелок (вниз, вверх,​

Условное форматирование: выделены повторяющиеся значения

  1. ​ из магазина товар.​Application.Calculation = xlCalculationAutomatic​ 16 To UBound(arr,​ пост 2 внес​ несколько столбцов из-за​

  2. ​Как выделить несмежный диапазон​​ При выборе опции​​ ячеек с опцией​​ столбце). Для ее​​Совет​​Выполните указанные ниже действия.​​гистограмм​​ столбец «ФИО сотрудника»).​​через запятые.​

    Повторяющиеся значения

  3. ​ полем​(СТРЕЛКА ВПРАВО или​ влево, вправо).​​ Для этого нужно​​Application.ScreenUpdating = True​

    Параметры форматирования: выделение повторяющихся элементов

​ 2)​ изменения в этом​ объединенных ячеек в​ ячеек в Excel?​

Сортировка по цвету

​ Этих же выделяются​ Отличия по строкам​ определения можно нажать​. О выделении ячеек​Выделите диапазон со значениями,​, Excel отображает в​На вкладке​Примечание:​

​Имя​

  1. ​ СТРЕЛКА ВЛЕВО позволяет​Количество выделенных столбцов и​ отобразить последнюю запись​​End Sub​ ​If arr(1, j)​ ​ месте:​ ​ строке 5.​ ​ Выделите мышкой блок​​ только те ячейки,​

  2. ​ и получаем 2​​CTRL+END​​ на листе с​​ которые нужно отформатировать.​​ каждой ячейке полосу,​​Главная​​ В списке​, чтобы открыть список​​ выделить всю строку,​​ строк отображается в​ в столбце наименования​_Boroda_​​ = criteria1 And​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>arr() =​​Этот макрос выделяет​​ B3:D8. Нажмите клавишу​ для которых установлены​

Элементы ​ выделенные ячейки, одна​. Что такое пустая​

​ помощью курсора мыши​На вкладке​ длина которой соответствует​

Условное форматирование с повторяющимися значениями, отсортированными в верхней части списка

Выделение первых 10 элементов в диапазоне

​нажмите кнопку​​Перейти​​ именованных ячеек или​ СТРЕЛКА ВВЕРХ или​ поле Имя (слева​ товаров. Чтобы просто​: Игорь, да ты​ arr(2, j) =​_Boroda_​ только ячейку в​​ F8 чтобы включить​​ те же правила​​ на строке​​ ячейка? Для EXCEL​​ и клавиатуры читайте​​Главная​ значению ячейки относительно​Условное форматирование​можно просмотреть все​

​ диапазонов, и выбрать​ СТРЕЛКА ВНИЗ позволяет​ от Строки формул)​ посмотреть на последнее​

Условное форматирование: к диапазону применен формат

  1. ​ ваще молодец! Я​ criteria2 Then​: Точно. А я,​​ строке 10.​​ специальный режим. В​

  2. ​ проверки допустимости данных,​​5​​ это ячейка, в​​ статью Выделение диапазонов ячеек​​нажмите кнопку​​ других ячеек в​, откройте подменю​​ именованные или неименованные​​ в нем нужное​​ выделить весь столбец).​

    Условное форматирование: параметры формата

  3. ​ в формате 3Rx1C,​ значение столбца, достаточно​ тобой горжусь!​

    Условное форматирование: выбор первых 10 элементов

Отображение дисперсии с помощью гистограмм

​Cells(10, j).Select​ конечно же, не​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Найти()​​ строке состояния появится​ что и для​, другая на​ которой не содержится​ в MS EXCEL.​Условное форматирование​

​ выбранном диапазоне.​Правила выделения ячеек​ ячейки или диапазоны,​

Условное форматирование: к диапазону применен стиль

  1. ​ имя.​ Если строка или​ что означает, что​​ переместить курсор на​​Не критика, а​

  2. ​Exit For​​ заметил.​​Dim arr(), lc​​ сообщение: «Расширить выделенный​​ активной ячейки.​​8​​ ни значения, ни​ О выделении ячеек​​и выберите пункт​​Чтобы повторить инструкции из​​и выберите пункт​​ которые ранее были​

    Условное форматирование: коллекция стилей

  3. ​Чтобы выбрать две или​ столбец содержат данные,​ выделено 3 ячейки​ любую его ячейку​ комментарии. Я прямо​​End If​​Но неважно. Нужно​​ As Long, j​​ фрагмент». И теперь​Быстрая сортировка по возрастанию​Диапазоны в Excel раньше​Быстрая сортировка по убыванию​. Логика такова: столбец​ формулы. А если​ в зависимости от​

Выделение положительных, нейтральных и отрицательных значений с помощью наборов значков

​Цветовые шкалы​ примера, выполните указанные​Повторяющиеся значения​ выделены с помощью​ более ссылки на​CTRL+SHIFT+КЛАВИША СО СТРЕЛКОЙ​ в одном столбце.​ и нажать комбинацию​ в макросе написал​Next j​Условное форматирование: значок ​ только одну строку​Условное форматирование: значок ​ As Long​Условное форматирование: значок ​ выделите мышкой блок​

​ назывался блоками. Диапазон​2​ к ячейке применено​

Условное форматирование: к диапазону применен стиль

  1. ​ их содержимого -​. Затем выберите шкалу.​

  2. ​ ниже действия.​​.​​ команды​​ именованные ячейки или​​выделяет текущую область данных​​После того, как Вы​​ горячих клавиш CTRL​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub videlit1()​

    Условное форматирование: параметры стиля

  3. ​End Sub​ поменять. Я ее​Dim criteria1, criteria2​ F2:K5. Как видите,​ – это выделенная​​сравнивается с эталонным​​ Условное форматирование или​​ читайте в статье Условное​​ В данном случае​​Выделите диапазон, который хотите​​В раскрывающемся списке параметров​​Перейти​​ диапазоны, щелкните стрелку​​ столбца или строки.​​ отпустили клавишу​ + стрелка в​​Application.Calculation = xlCalculationManual​Что касается Вашего​​ пометил в макросе.​criteria1 = Date​ в данном режиме​ прямоугольная область прилегающих​ столбцом​ задействован инструмент Проверка​ форматирование в MS​ мы использовали вариант​ отформатировать. На рисунке​

    Условное форматирование: диалоговое окно параметров

Отображение дисперсии с помощью цветовых шкал

​ выберите формат и​​. Чтобы вернуться к​​ рядом с полем​ Повторное нажатие сочетания​SHIFT​ низ (↓). Но​Application.ScreenUpdating = False​ вопроса, то нужно​А может и​

Условное форматирование с трехцветной шкалой

​criteria2 = Range(«K9»).Value​

  1. ​ мы имеем возможность​ ячеек. Данное определение​

  2. ​1​​ данных, и она​​ EXCEL.​​Цветовая шкала «Красный-желтый-зеленый»​​ выше это столбец​​ нажмите кнопку​​ ячейке или диапазону,​имя​ клавиш​​, в поле Имя отобразится​​ чаще всего пользователю​

    Цветовая шкала: красный, желтый, зеленый

Форматирование каждой второй строки как в таблице

​Dim arr(), lc​ записать так (вместо​ не нужно. Мы​lc = Cells(10,​ выделять стразу несколько​ понятия легче воспринять​. Если добавить еще​ ничего не содержит?​Окно этого инструмента доступно​.​Доход​​ОК​​ которые были выделены​​и нажмите кнопку​​CTRL+SHIFT+КЛАВИША СО СТРЕЛКОЙ​​ адрес активной ячейки.​​ приходится с последним​ As Long, j​​ Rows Range):​​ ж так и​ Columns.Count).End(xlToLeft).Column​ диапазонов. Чтобы вернутся​

Коллекция стилей таблиц Excel

​ на практических примерах.​ один столбец, то​ Эта ячейка считается​ через меню Главная/ Найти​Если вы хотите применить​.​.​ раньше, дважды щелкните​​ имя первого ссылку​​позволяет выделить все​​Если диапазон ячеек, который​​ значением столбца выполнять​​ As Long, lr​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>rr() = Range(«P10:GA11»).Value​​ не выяснили, что​​arr() = Range(«A10»).Resize(2,​

​ в обычный режим​В формулах диапазон записывается​ будут выделены все​ пустой. Удаление такой​ и выделить/ Выделение​

Ищете что-то другое?

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

  1. ​ различные вычислительные операции​ As Long​

  2. ​Но в этом​​ Игорь хочет потом​​ lc).Value​​ работы, повторно нажмите​​ адресами двух ячеек,​​ ячейки, которые отличаются​​ ячейки для пользователя​

    Создание правила форматирования

  3. ​ группы ячеек. Название​ второй строке данных,​Главная​ и повторяющиеся элементы​​ на ячейку в​​ диапазон, который требуется​ строки.​ помещается на видимой​ в Excel. Поэтому​

См. также

  • ​Dim criteria1, criteria2​ случае надо начинать​

  • ​ делать.​For j =​

  • ​ F8.​ которые разделенные двоеточием.​ в соответствующих строках​ может означать потерю​

support.office.com

Выделение группы ячеек в MS EXCEL

​ инструмента не совсем​ это можно сделать​нажмите кнопку​ будут выделены выбранным​ списке​ выделить. Затем удерживая​Чтобы выделить последнюю ячейку​ части листа, то​ лучше его получить​lr = Cells(Rows.Count,​

​ j не с​китин​

​ 16 To UBound(arr,​​Как выделить большой диапазон​ Верхняя левая и​ от ячеек столбца​ формулы введенной, например,​ корректно, он может​ с помощью формулы​Условное форматирование​ цветом.​Перейти​ клавишу CTRL, щелкните​ листа, которая содержит​ можно уменьшить масштаб​

​ в качестве значения​ 3).End(xlUp).Row​ 16, а с​: спасибо вам. я​ 2)​ ячеек в Excel?​ правая нижняя ячейка,​1​ в Условном форматировании.​

​ выделять не только​ условного форматирования, но​и выберите пункт​Вы можете пойти еще​

​.​​ имена других ячеек​ данные или форматирование,​ отображения листа (см.​ для отдельной ячейки.​criteria1 = Date​ 1.​ тоже малость переделал​If arr(1, j)​ Клавиша F5 или​ которая входит в​.​ТЕКУЩАЯ ОБЛАСТЬ​ ячейки, но и​ гораздо проще просто​​Гистограммы​​ дальше в поиске​

​Совет:​​ или диапазонов в​ нажмите сочетание клавиш​ статью Быстрое изменение​Схематический регистр товаров, выданных​criteria2 = Range(«K9»).Value​И нужно еще​ код Олега​ = criteria1 And​ CTRL+G. В появившемся​ состав диапазона, например​ОТЛИЧИЯ по СТОЛБЦАМ.​. Выделяет прямоугольный диапазон​ графические объекты.​ отформатировать данные как​. Затем выберите стиль​ повторов — отсортировать список​ Чтобы быстро найти и​ поле​CTRL+END​ масштаба отображения листа)​ с магазина:​lc = Cells(10,​ здесь корректировать j:​

​Karataev​​ arr(2, j) =​ окне, в поле​ A1:B3.​Аналогично предыдущей опции.​ ячеек вокруг активной​В этой статье рассмотрим​ таблицу. Выделите ячейку​ в разделе​ по цветам. Так​ выделите все ячейки,​имя​. Сама ячейка может​ или щелкнуть первую​

​Чтобы иметь возможность постоянно​​ Columns.Count).End(xlToLeft).Column​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Cells(10, j+15).Select​, под выделение внутри​ criteria2 Then​ «Ссылка» введите адрес:​Обратите внимание! Ячейка, от​ Эталоном служит верхняя​ ячейки. Граница этого​ все опции инструмента​ в диапазоне данных​Градиентная заливка​ будет проще применить​ содержащие определенных типов​​.​​ быть пуста и​ ячейку диапазона (левую​ наблюдать, какой товар​’До этой строки​китин​ таблицы( прошу прощения​Cells(10, j).Select​ B3:D12345 (или b3:d12345)​​ которой начинается выделение​​ строка.​ диапазона определяется окружающими​ MS EXCEL «Выделение​ и выберите​или​ массовые изменения к​ данных (например, формулы)​Примечание:​ не иметь форматирование.​ верхнюю), а затем,​ зарегистрирован последним, в​ ничего не трогал.​: Олег мне нужен​ за неточность)​Exit For​ и нажмите ОК.​ диапазона, остается активной.​

​ВЛИЯЮЩИЕ ЯЧЕЙКИ​​ его пустыми строками​ группы ячеек».​Главная​Сплошная заливка​ повторяющимся элементам (например,​ или только ячейки,​ Текущая выделенная ячейка останется​​ Но, она находится​​ добравшись до последней​

​ отдельную ячейку E1​​ Новые переменные не​ был пинок, я​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Найти()​End If​ Таким образом, вы​ Это значит, что​. Выделяет ячейки, на​ и столбцами. Сочетания​ПРИМЕЧАНИЯ​ >​

  • ​.​​ удалить их).​​ которые удовлетворяют определенным​ выделенной вместе с​
  • ​ в самом правом​ ячейки диапазона с​
  • ​ введем формулу:​​ объявлял. Патамушта лентяй​​ его получил. спасибо​

​Dim arr(), lc​Next j​ без труда захватили​​ при выделенном диапазоне​​ которые есть ссылки​ клавиш быстрого вызова:​

​. Выделяет только те​​Стили​​Если после применения гистограмм​Выполните указанные ниже действия.​ критериям (например, только​ ячейками, указанными в​ столбце и в​​ помощью полосы прокрутки​​Результат выполнения формулы для​c0_ = 16​ .Самому никак не​ As Long, j​End Sub​ огромный диапазон, всего​​ данные из клавиатуры​​ в формулах.  Можно​

​CTRL+SHIFT+* CTRL+A​​ ячейки, которые содержат​ >​ вы захотите отсортировать​Щелкните в любом месте​ видимые ячейки или​ поле​ самой нижней строке,​ листа, нажать клавишу​

​ получения последнего значения:​​arr() = Cells(10,​ удавалось присвоить переменным​ As Long, lr​_Boroda_​ за пару кликов.​ будут введены в​ использовать так: выделяете​.​​ примечания к ячейкам.​​Форматировать как таблицу​

​ список, просто выделите​ диапазона данных, а​ последнюю ячейку на​Имя​ ячейки которых имеют​​SHIFT​​Разбор принципа действия формулы​​ c0_).Resize(2, lc).Value ‘массив​​ значения СЕГОДНЯ() и​

​ As Long​: Игорь, а 29​В поле «Имя» (которое​ его первую ячейку.​ весь лист (или​ТTREOBQ МАССИВ​​ Сами примечания при​​. Затем выберите стиль​​ столбец. Затем на​​ затем на вкладке​​ листе, содержащую данные​​(это относится и​ форматирование и не​​и щелкнуть последнюю​​ для поиска последнего​ меньше, там только​ ячейки К9. Теперь​Dim criteria1, criteria2​ марта у тебя​ расположено слева от​​ Она отличается от​​ область, где находятся​

​. Эта опция используется​​ этом не показываются.​ в​ вкладке​

​Данные​​ или форматирование), нажмите​ к диапазонам).​ пусты. Иногда, выделенная​ ячейку диапазона (правую​ значения в столбце:​ нужные значения​ есть два варианта​criteria1 = Date​ два лака. Какой​ строки формул) задайте​ других ячеек цветом​ формулы и ячейки​ крайне редко. Выделяет​ Показать их можно,​коллекции стилей​Данные​в группе​ кнопку​Чтобы выделить неименованный диапазон​ таким образом ячейка​ нижнюю).​​For s =​

​Karataev​​criteria2 = Range(«K9»).Value​ выбирать?​ диапазон ячеек: B3:D12345​ фона.​ с исходными данными),​ диапазон ячеек, содержащий​ нажав кнопку Рецензирование/​, после чего Excel​в группе​Сортировка и фильтр​Выделить​ или ссылку на​ находится в незаполненных​В случае выделения​Главную роль берет на​ c0_ To UBound(arr,​: китин, вариант по​

​lc = Cells(10,​​И что ты​ (или b3:d12345) и​К диапазонам относятся:​ вызываете инструмент Выделение​ массив в который​ Примечания/ Показать все​​ сразу преобразует ваши​​Сортировка и фильтр​

​нажмите кнопку​​в​ ячейку, введите ссылку​ строке и столбце.​ ячеек, содержащих значения,​ себя функция =ИНДЕКС(),​ 2) ‘цикл по​ Вашим вопросам:​ Columns.Count).End(xlToLeft).Column​ дальше с выделенным​ нажмите «Enter».​

​Несколько ячеек выделенных блоком​​ группы ячеек с​ входит активная ячейка.​ примечания. Эта опция​ данные в таблицу.​

​щелкните значок​​Сортировка​Перейти к​ на нужную ячейку​ Чтобы все встало​ можно щелкнуть первую​ которая должна возвращать​ нему​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Найти()​lr = Cells(Rows.Count,​ столбцом делать хочешь?​Способ 5 и 6​ (=B5:D8).​ опцией Влияющие ячейки​ Те, кто не​ также доступна через​Если вам требуется только​или​

excel2.ru

Выделение диапазона ячеек в Excel

​.​всплывающего окна и​ или диапазон и​ на свои места​ ячейку диапазона, а​ содержимое ячейки таблицы​If arr(1, s)​

​Dim arr(), j​ 3).End(xlUp).Row​китин​ – это самое​Одна ячейка (=A2:A2).​ и получаете выделенными​ знаком с формулами​ меню Главная/ Найти​

​ табличное форматирование без​для сортировки по​В раскрывающемся списке​ выберите нужный вариант.​ нажмите клавишу ВВОД.​ — сохраните книгу.​ затем, удерживая клавишу​ где пересекаются определенная​ = criteria1 And​ As Long​arr() = Rows(«10:11»).Value​

​: Насколько я понял​

  1. ​ быстрое решение для​Целая строка (=18:18) или​
  2. ​ ВСЕ ячейки, влияющие​
  3. ​ массива, могут пропустить​ и выделить/ Примечания.​
  4. ​ дополнительных функций таблицы,​ возрастанию или по​
  5. ​Сортировать по​
  6. ​Условное форматирование позволяет применять​

Пример блока диапазона.

​Совет:​Примечание:​

​SHIFT​

Работа с выделенным диапазоном ячеек MS Excel

​ строка и столбец.​ arr(2, s) =​Dim criteria1, criteria2​For j =​200?’200px’:»+(this.scrollHeight+5)+’px’);»>arr() = Rows(«10:11»).Value​

  • ​ выделения больших диапазонов.​
  • ​ несколько строк (=18:22).​
  • ​ на значения других​ описание этой опции.​
  • ​ Сочетания клавиш быстрого​ можно преобразовать таблицу​

​ убыванию.​

  1. ​выберите столбец​ к ячейкам цвета​ Например, введите​Мы стараемся как​, дважды щелкнуть по​ В качестве первого​ criteria2 Then​criteria1 = Date​ 16 To UBound(arr,​объявляем массив состоящий​ Небольшие диапазоны в​Целый столбец (=F:F) или​ ячеек (для их​
  2. ​ Остальные могут поэкспериментировать.​ вызова:​ обратно в диапазон.​С помощью набора значков​ФИО сотрудника​ при определенных условиях,​B3​ можно оперативнее обеспечивать​ ее нижней границе.​ аргумента функции ИНДЕКС​c1_ = s​
  3. ​criteria2 = Range(«K9»).Value​ 2)​ из 10 и​ пределах одного экрана​ несколько столбцов (=F:K).​ запоминания можно изменить​выделите ячейки от​CTRL+SHIFT+щ​ Щелкните в любом​ вы можете визуально​, в раскрывающемся списке​ таких как наличие​, чтобы выделить эту​ вас актуальными справочными​ Будет выделен диапазон​ выступает неизменяемая константа,​ + c0_ -​arr() = Range(«P10:GA11»).Value​If arr(1, j)​
  4. ​ 11 строки Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>For​ лучше выделять мышкой.​Несколько несмежных диапазонов (=N5:P8;E18:H25;I5:L22).​ фон ячеек). Сравните​A1E1​.​ месте табличного диапазона,​ отметить значения, которые​Сортировка​ повторяющихся значений или​ ячейку, или​ материалами на вашем​ до первой незаполненной​ а именно ссылка​ 1​For j =​ = criteria1 And​ j = 16​
  5. ​Чтобы выделить диапазон нескольких​Целый лист (=1:1048576).​ с командой меню​включительно (всего 5​КОНСТАНТЫ​ затем на ленте​ попадают в определенные​ — значение «Цвет ячейки»,​ значений, соответствующих определенным​B1:B3​ языке. Эта страница​ ячейки. Чтобы распространить​
  6. ​ на целый столбец​Exit For ‘сразу​ 1 To UBound(arr,​ arr(2, j) =​ To UBound(arr, 2)​ столбцов нужно подвести​

Выделение больших блоков из поля ИМЯ.

​Все выше перечисленные виды​ Формулы/ Зависимости формул/​ ячеек);​. Выделяет все непустые​Работа с таблицами​ диапазоны чисел или​ в раскрывающемся списке​

Выделение диапазонов целых столбцов или строк

​ критериям (например, больше​, чтобы выделить диапазон​ переведена автоматически, поэтому​ выделение на заполненные​ (B:B). Во втором​ определяем столбец для​ 2)​ criteria2 Then​ цикл от 16​ курсор мышки на​ блоков являются диапазонами.​

Выделение колонок.

​ Влияющие ячейки (позволяет​в Строке формул введите​ ячейки, не содержащие​откройте вкладку​ процентов. В этом​Порядок​

Выделение диапазона целого листа

​ 100 или равных​ из трех ячеек.​ ее текст может​ столбцы справа, нужно,​ аргументе находится номер​ работы, а не​If arr(1, j)​Range(Cells(10, j), Cells(lr,​ до нижней границы​

Выделение несмежного диапазона

​ заголовок первого столбца​​

Выделение колонок.

​ определить на какие​ формулу ={1;2;3;4;5};​ формул. Эта опция​Конструктор​ разделе мы обозначим​ — цвет, а в​ заданному доходу). Для​Примечание:​ содержать неточности и​ удерживая клавишу​

exceltable.com

Выделить столбец в зависимости от изменяющихся условий (Макросы/Sub)

​ строки с последним​​ ищем его заново​ = criteria1 And​ j)).Select​ массива Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>arr()? так?​ и удерживая левую​Выделение диапазонов – это​ ячейки влияет активная​нажмите сочетание клавиш​ полезна в случае,​и выберите​
​ соответствие региональной производительности​ последнем раскрывающемся списке —​ этого применяются правила​yes
​ В поле​ грамматические ошибки. Для​SHIFT​

​ заполненным значением столбца​​ для каждого прохода​ arr(2, j) =​Exit For​китин​ клавишу протянуть его​ одна из основных​
​ ячейка).​CTRL+SHIFT+ENTER​ если на листе​
​Инструменты​
​ стандартам с помощью​ значение​ выделения ячеек и​
​Имя​
​ нас важно, чтобы​
​, дважды щелкнуть по​
​ B. Чтобы узнать​ цикла по i​
​ criteria2 Then​End If​
​: а их везде​ до заголовка последнего​ операций при работе​
​ЗАВИСИМЫЕ ЯЧЕЙКИ​.​ создана некоторая расчетная​ >​
​ положительных​
​Сверху​
​ правила отбора первых​
​невозможно удалить или​
​ эта статья была​

​ правой границе ранее​​ этот номер строки​End If​Range(«P10:GA11»).Columns(j).Select​Next j​
​ по 2.​ столбца. В процессе​ с Excel. Диапазоны​

​. Выделяет ячейки с​​Теперь мы получили массив.​​ модель и нужно​​Преобразовать в диапазон​, нейтральных​. Нажмите кнопку​ и последних значений.​ изменить имена, определенные​ вам полезна. Просим​ выделенного диапазона.​ используется функция СЧЁТЗ,​

​Next s​​Exit For​End Sub​:D​ошибочка. наверное первый​

​ мы наблюдаем подсказку​​ используют:​ формулами, в которых​ Попробуйте удалить значение​ очистить все ячейки​.​и отрицательных​ОК​ Можно также ранжировать​ для ячеек и​
​ вас уделить пару​Нажмите кнопку Выделить все​ которая возвращает количество​Application.EnableEvents = False​End If​

​только вот почему​​Karataev​ Excel: количество выделенных​при заполнении данных;​ есть ссылки на​
​ из ячейки​ с исходными данными,​Подробнее о таблицах Excel​значков.​, чтобы применить заданное​
​ отдельные ячейки по​
​ диапазонов. Имена можно​ секунд и сообщить,​ в левом верхнем​
​ непустых ячеек в​
​ 'Обработчик событий лучше​
​Next j​
​ не дает объявить​: Цикл от столбца​
​ столбцов.​
​при форматировании;​ выделенные ячейки. Можно​B1​
​ чтобы ввести в​ можно узнать здесь:​Чтобы узнать, как это​ форматирование.​
​ диапазону значений с​ удалять и изменять​ помогла ли она​
​ углу листа (кнопка​
​ диапазоне. Соответственно это​
​ включить один раз​

​End Sub​​ массив, ограниченный опр.​ 16 до последнего​Выделение строк выполняется аналогичным​при очистке и удалении​
​ использовать так: выделяете​

​. Вы получите вот​​ них новые значения.​ Создание и удаление​ сделать, выполните указанные​
​»Сортировка» > «Сортировка по​ помощью гистограмм, цветовых​ только в диалоговом​ вам, с помощью​
​ расположена чуть выше​ же число равно​ перед циклом​китин​ рамками? вот такой​ столбца, в котором​

​ способом только курсор​​ ячеек;​ весь лист, вызываете​ такое предупреждение:​​ Если ячейка содержит​​ таблицы Excel на​ ниже действия.​ цвету»» />​
​ шкал и наборов​
​ окне​ кнопок внизу страницы.​ и левее ячейки​ номеру последней непустой​
​'обычно все Application​
​: ну вот, с​
​Код200?'200px':''+(this.scrollHeight+5)+'px');">arr() = Rows("P10:GA11").Value​
​ есть данные в​ мышки с нажатой​
​при создании графиков и​ инструмент Выделение группы​
​Выделите любую ячейку от​
​ значение =11, то​ листе.​Выделите диапазон, который хотите​
​В отсортированной таблице повторяющиеся​ значков. Условное форматирование​Диспетчер имен​ Для удобства также​
​А1​ строки в столбце​
​ складывают вместе или​
​ вашей помощью наваял​
​понял не Rows​
​ строке 10. В​

​ левой клавишей нужно​ диаграмм и т.п.​ ячеек с опцией​A1E1​
​ это значение считается​
​Если ни один из​ отформатировать.​

​ значения будут сгруппированы​​ динамично и автоматически​(вкладка​ приводим ссылку на​). Другой вариант -​ B и используется​ вначале, или там,​ какое то подобие​ а Range​:D

​ Вашем файле последний​​ вести вдоль нумерации​Способы выделения диапазонов:​ Зависимые ячейки и​. Вызовите инструмент Выделение​ формулой, а не​ перечисленных выше вариантов​
​На вкладке​ сверху.​ корректируется при изменении​Формулы​ оригинал (на английском​ нажать сочетание клавиш​ как второй аргумент​ где начинается работа​
​ макроса.​китин​ столбец GA. Вот​ строк (по вертикали).​Чтобы выделить диапазон, например​ получаете выделенными ВСЕ​ группы ячеек. Установите​
​ константой, хотя значение​
​ вам не подходит,​Главная​Правило​
​ значений.​
​, группа​
​ языке) .​
​CTRL+A​ для функции ИНДЕКС,​
​ на листе​у меня работает.​
​: второй вопрос.далее мне​ до него макрос​Для выделения диапазона целого​
​ A1:B3, нужно навести​ ячейки, зависимые от​ опцию Текущий массив.​ ячейки не может​
​ вы можете создать​
​нажмите кнопку​
​Первые 10 элементов​
​Параметры условного форматирования​
​Определенные имена​

​Независимо от наличия определенных​. Если лист содержит​ которая сразу возвращает​For i =​
​ критика приветствуется и​
​ надо все данные​ и будет просматривать.​ листа следует сделать​ курсор мышки на​ других ячеек (для​
​ После нажатия ОК,​ меняться. Такая ячейка​
​ собственное правило условного​

​Условное форматирование​​позволяет быстро выявить​Условное форматирование с цветовыми​). Дополнительные сведения см.​ именованных ячеек или​ данные,​ последнее значение столбца​ 13 To lr​ ожидается​

​ из этого столбца​​По массиву быстрее​ щелчок левой кнопкой​
​ ячейку A1 и​
​ их запоминания можно​ будет выделен диапазон​
​ выделена не будет.​
​ форматирования с помощью​
​и выберите пункт​
​ лидеров в диапазоне,​
​ шкалами​ в статье Определение​ диапазонов на листе,​
​CTRL+A​ B в отдельной​'For j =​200?'200px':''+(this.scrollHeight+5)+'px');">Sub videlit()​
​ перенести в завтрашний(​
​ двигаться, поэтому макрос​
​ мышки по верхнему​
​ удерживая левую клавишу​
​ изменить фон ячеек).​

​A1:E1​​ Эта опция также​ нескольких простых действий.​Наборы значков​ например 10 лучших​:D​Примечание:​ и использование имен​ чтобы быстро найти​
​выделяет текущую область.​
​ ячейке E1.​
​ с0_ To UBound(arr,​
​Application.Calculation = xlCalculationManual​ сложив эти данные​ двигается не по​ левому уголку листа,​
​ мышки провести курсор​
​ Сравните с командой​, содержащий массив (вместо​
​ доступна через меню​
​Выделите ячейки, которые нужно​
​. Затем выберите стиль​ клиентов в списке​
​ До версии Excel 2007 условное​ в формулах.​
​ и выбрать отдельных​ Повторное нажатие сочетания​
​Внимание! Все записи в​ 2)​Application.ScreenUpdating = False​
​ с данными столбца​ листу, а по​ где пересекаются заголовки​ на ячейку B3.​
​ меню Формулы/ Зависимости​
​ нажатия на ОК​
​ Главная/ Найти и​ отформатировать.​ набора значков.​ на основании показателей.​ форматирование приходилось создавать​На вкладке "​
​ ячеек или диапазонов​
​ клавиш​
​ столбце B должны​
​'If arr(1, j)​
​Dim arr(), lc​
​ из завтра) попробую​
​ массиву.​
​ строк и столбцов.​
​ Казалось бы, нет​

​ формул/ Зависимые ячейки.​​ можно дважды кликнуть​ выделить/ Константы.​На вкладке​
​Excel попытается интерпретировать и​ Точно так же​ с помощью формулы,​
​Главная​
​ вводя их имена​
​CTRL+A​
​ быть неразрывны (без​ = criteria1 And​ As Long, j​ сам наваять​
​_Boroda_​
​ Или нажать комбинацию​ ничего проще и​
​ПОСЛЕДНЯЯ ЯЧЕЙКА.​
​ на слова Текущий​
​ФОРМУЛЫ​Главная​
​ соответственно отформатировать ваши​ вы можете выбрать​ и поддерживались всего​" в группе​
​ и ссылок на​
​позволяет выделить все​ пустых ячеек до​ arr(2, j) =​ As Long, lr​
​Karataev​: Может, тебе нужно​ горячих клавиш CTRL+A.​ этого достаточно для​
​Выделяет нижнюю правую​ массив). Сочетания клавиш​. Выделяет ячейки, содержащие​нажмите кнопку​
​ данные. Если вам​ правило​ три уровня. Во​
​ "​ ячейки можно использовать​ ячейки листа.​ последнего значения).​ criteria2 Then​ As Long​
​: китин, Вы используете​
​ выделить не весь​
​Несмежные диапазоны складываются из​ практических знаний. Но​ ячейку листа, которая​ быстрого вызова:​
​ формулы. Можно также​Условное форматирование​ нужно изменить эту​Последние 10 элементов​ всех версиях, начиная​
​Редактирование​ поле имени.​
​Выделите первую ячейку или​Стоит отметить что данная​'Cells(i, j).Select'Зачем это?​
​Dim criteria1, criteria2​ не ту версию​ столбец, а толькро​ нескольких других диапазонов.​
​ попробуйте таким способом​
​ содержит данные или​
​CTRL+/​ сузить задачу, выбрав​и выберите пункт​ интерпретацию, откройте вкладку​
​,​ с Excel 2007, имеется​
​" нажмите кнопку​Поле "Имя" расположено слева​ диапазон ячеек и,​
​ формула является динамической.​
​'Application.EnableEvents = False​
​lr = Cells(Rows.Count,​ моего макроса. Я​ внутри таблицы?​
​Чтобы их выделять просто​
​ выделить блок B3:D12345.​
​ атрибуты форматирования. Быстрее​
​.​
​ тип результата, который​
​Создать правило​
​Главная​
​Первые/Последние 10%​
​ множество готовых правил,​
​Найти и выделить​
​ от строки формул.​

excelworld.ru

Как получить последнее значение в столбце таблицы Excel

​ удерживая клавишу​ При добавлении новых​With Cells(i, c1_)​ 3).End(xlUp).Row​ внес изменения в​Тогда в макросе​ удерживайте нажатие клавиши​Теперь щелкните по ячейке​ воспользоваться клавиатурным эквивалентом​ОБЪЕКТЫ​ дает формула: число,​.​и выберите​или​ которые легко применять,​и нажмите кнопку​Кроме того, для выделения​CTRL​ записей в столбец​ ‘чтобы не обращаться​criteria1 = Date​ макрос в посте​ Олега (самому лень​ CTRL, а дальше​ A1, после чего​ этой команды -​

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

​. Выбирает графические объекты​ текст, логическое значение​

Товарный регистр.

​Создайте правило и задайте​Условное форматирование​Выше/Ниже среднего​ и поддерживается до​Перейти​

​ именованных и неименованных​, выделите курсором мыши​

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

​ B результат в​ к ячейке несколько​criteria2 = Range(«K9»).Value​

​ 2.​

​ писать, уж если​ как при обычном​ нажмите и удерживайте​CTRL+END​ рабочего листа. Очень​ (ИСТИНА или ЛОЖЬ)​ для него параметры​ >​. Выбрав правило, вы​ 64 уровней. Если​. Можно также нажать​ ячеек и диапазонов​ остальные ячейки или​ ячейке E1 будет​ раз​lc = Cells(10,​В этой версии​ готовый есть) одну​ выделении. Также в​ на клавиатуре SHIFT,​.​ удобная опция -​ или ошибку. Удобно​ форматирования, а затем​Управление правилами​ можете изменить число​ для вашей ситуации​ сочетание клавиш CTRL​ можно использовать команду​ диапазоны. Также можно,​ автоматически обновляться.​

​If .Value <>​ Columns.Count).End(xlToLeft).Column​ в массив arr​ строку поменять нужно​ данной ситуации особенно​

​ а потом щелкните​ТОЛЬКО ВИДИМЫЕ ЯЧЕЙКИ​ позволяет обнаружить скрытые​ для использования поиска​ нажмите кнопку​ > правило​ 10 на другое​

exceltable.com

​ не подходит ни​

Как выделять столбцы в Excel? Выделение столбцов с заданным шагом

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

Как выделить один столбец?

Существует несколько способов выделения столбца в Excel:

1. В окне открытого рабочего листа подвести курсор мыши к имени (или номеру) столбца и когда курсор мыши превратится в черную стрелку, направленную вниз, кликнуть левой кнопкой мыши;

2. Установить маркер выделения в любую ячейку нужного столбца и использовать сочетание горячих клавиш Ctrl + Space (пробел);

3. Установить маркер выделения в первую ячейку нужного столбца и нажать сочетание клавиш Ctrl + Shift +Стрелка вниз. При этом, если в столбце есть данные, то первое использование сочетания горячих клавиш выделит область с данными, а второе – весь столбец.

Как выделить несколько столбцов подряд?

1. Подвести курсор мыши к именам столбцов и провести курсор-стрелку по именам нужных столбцов с нажатой левой кнопкой мыши;

2. Выделить щелчком левой кнопки мыши первый столбец нужного диапазона столбцов, нажать клавишу Shiftна клавиатуре и при нажатой клавише кликнуть по имени последнего столбца нужного диапазона столбцов;

3. В адресном окне строки формул указать наименование первого столбца, поставить двоеточие, указать наименование последнего столбца (например A:D) и нажать Enter.

Как выделить несколько столбцов не подряд?

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

Как выделить множество столбцов с заданным шагом (через один, через два и так далее)?

При помощи надстройки для Excel можно выделять по несколько столбцов через заданные интервалы, например можно выделить по два столбца с шагом три или по 5 столбцов с шагом 10. Кроме того, можно выделять не весь столбец, а только области столбцов, заключенные между заданными строками.

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

2. Выделять диапазоны столбцов с заданным шагом;

3. Выделять области столбцов (диапазонов столбцов), заключенные между заданными номерами строк.

Как выделить столбцы с заданными значениями по условию?

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

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

2. Задавать для поиска как одно, так и несколько значений, используя в качестве знака-разделителя «;» точку с запятой ;

3. Выделять столбцы как на одном листе, так и на всех листах рабочей книги;

4. Задавать диапазон для поиска искомых значений;

5. Использовать дополнительные ограничения диапазона поиска искомых значений.

видео по работе с надстройкой

Выделение содержимого ячеек в Excel

В этом курсе:

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

В Excel можно выделять содержимое ячеек, строк или столбцов.

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

Выделение ячеек

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

Чтобы выделить диапазон ячеек, выделите ячейку, а затем нажмите левую кнопку мыши и перетащите указатель.

Для этого также можно использовать SHIFT+клавиши со стрелками.

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

Выделение строк и столбцов

Выберите букву в верхней части столбца, чтобы выделить его целиком. Можно также щелкнуть любую ячейку в столбце и нажать клавиши CTRL+ПРОБЕЛ.

Выберите номер строки, чтобы выделить ее целиком. Можно также щелкнуть любую ячейку в строке и нажать клавиши SHIFT+ПРОБЕЛ.

Чтобы выделить несмежные строки или столбцы, выберите их номера, удерживая нажатой клавишу CTRL.

Выделение таблицы, списка или листа

Чтобы выделить список или таблицу, щелкните любую содержащуюся в них ячейку и нажмите клавиши CTRL+A.

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

Примечание: В некоторых случаях выделение одной ячейки может привести к выбору нескольких смежных ячеек. Советы о том, как устранить эту проблему, см. в публикации сообщества под названием Как предотвратить одновременное выделение нескольких ячеек в Excel?.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Выделение диапазона ячеек в Excel

Диапазоны в Excel раньше назывался блоками. Диапазон – это выделенная прямоугольная область прилегающих ячеек. Данное определение понятия легче воспринять на практических примерах.

В формулах диапазон записывается адресами двух ячеек, которые разделенные двоеточием. Верхняя левая и правая нижняя ячейка, которая входит в состав диапазона, например A1:B3.

Обратите внимание! Ячейка, от которой начинается выделение диапазона, остается активной. Это значит, что при выделенном диапазоне данные из клавиатуры будут введены в его первую ячейку. Она отличается от других ячеек цветом фона.

К диапазонам относятся:

  1. Несколько ячеек выделенных блоком (=B5:D8).
  2. Одна ячейка (=A2:A2).
  3. Целая строка (=18:18) или несколько строк (=18:22).
  4. Целый столбец (=F:F) или несколько столбцов (=F:K).
  5. Несколько несмежных диапазонов (=N5:P8;E18:H25;I5:L22).
  6. Целый лист (=1:1048576).

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

Работа с выделенным диапазоном ячеек MS Excel

Выделение диапазонов – это одна из основных операций при работе с Excel. Диапазоны используют:

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

Способы выделения диапазонов:

  1. Чтобы выделить диапазон, например A1:B3, нужно навести курсор мышки на ячейку A1 и удерживая левую клавишу мышки провести курсор на ячейку B3. Казалось бы, нет ничего проще и этого достаточно для практических знаний. Но попробуйте таким способом выделить блок B3:D12345.
  2. Теперь щелкните по ячейке A1, после чего нажмите и удерживайте на клавиатуре SHIFT, а потом щелкните по ячейке B3. Таким образом, выделился блок A1:B3. Данную операцию выделения условно можно записать: A1 потом SHIFT+B3.
  3. Диапазоны можно выделять и стрелками клавиатуры. Щелкните по ячейке D3, а теперь удерживая SHIFT, нажмите клавишу «стрелка вправо» три раза пока курсор не переместится на ячейку G3. У нас выделилась небольшая строка. Теперь все еще не отпуская SHIFT, нажмите клавишу «стрелка вниз» четыре раза, пока курсор не перейдет на G7. Таким образом, мы выделили блок диапазона D3:G7.
  4. Как выделить несмежный диапазон ячеек в Excel? Выделите мышкой блок B3:D8. Нажмите клавишу F8 чтобы включить специальный режим. В строке состояния появится сообщение: «Расширить выделенный фрагмент». И теперь выделите мышкой блок F2:K5. Как видите, в данном режиме мы имеем возможность выделять стразу несколько диапазонов. Чтобы вернутся в обычный режим работы, повторно нажмите F8.
  5. Как выделить большой диапазон ячеек в Excel? Клавиша F5 или CTRL+G. В появившемся окне, в поле «Ссылка» введите адрес: B3:D12345 (или b3:d12345) и нажмите ОК. Таким образом, вы без труда захватили огромный диапазон, всего за пару кликов.
  6. В поле «Имя» (которое расположено слева от строки формул) задайте диапазон ячеек: B3:D12345 (или b3:d12345) и нажмите «Enter».

Способ 5 и 6 – это самое быстрое решение для выделения больших диапазонов. Небольшие диапазоны в пределах одного экрана лучше выделять мышкой.

Выделение диапазонов целых столбцов или строк

Чтобы выделить диапазон нескольких столбцов нужно подвести курсор мышки на заголовок первого столбца и удерживая левую клавишу протянуть его до заголовка последнего столбца. В процессе мы наблюдаем подсказку Excel: количество выделенных столбцов.

Выделение строк выполняется аналогичным способом только курсор мышки с нажатой левой клавишей нужно вести вдоль нумерации строк (по вертикали).

Выделение диапазона целого листа

Для выделения диапазона целого листа следует сделать щелчок левой кнопкой мышки по верхнему левому уголку листа, где пересекаются заголовки строк и столбцов. Или нажать комбинацию горячих клавиш CTRL+A.

Выделение несмежного диапазона

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

Чтобы их выделять просто удерживайте нажатие клавиши CTRL, а дальше как при обычном выделении. Также в данной ситуации особенно полезным будет режим после нажатия клавиши F8: «Расширить выделенный фрагмент».

Выделение строк и столбцов в таблице Excel

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

Выполните указанное действие

Столбец таблицы с заголовком или без него

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

Примечание: Щелкнув верхнюю границу один раз, вы выделяете данные столбца таблицы; Дважды щелкните весь столбец таблицы.

Можно также щелкнуть в любом месте столбца «Таблица», а затем нажать клавиши CTRL + ПРОБЕЛ, либо щелкнуть первую ячейку в столбце таблицы, а затем нажать сочетание клавиш CTRL + SHIFT + стрелка вниз.

Примечание: Чтобы выбрать данные столбца таблицы, нажмите клавиши CTRL + ПРОБЕЛ. Дважды нажмите клавиши CTRL + ПРОБЕЛ, чтобы выбрать весь столбец таблицы.

Щелкните левую границу строки таблицы. Появится следующая стрелка выделения, указывающая на то, что при нажатии кнопки выбирается строка.

Вы можете щелкнуть первую ячейку в строке таблицы, а затем нажать клавиши CTRL + SHIFT + стрелка вправо.

Все строки и столбцы таблицы

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

Дважды щелкните левый верхний угол таблицы, чтобы выделить всю таблицу, включая заголовки таблицы.

Можно также щелкнуть в любом месте таблицы, а затем нажать клавиши CTRL + A, чтобы выделить данные таблицы во всей таблице, или щелкнуть верхнюю левую ячейку в таблице, а затем нажать клавиши CTRL + SHIFT + END.

Дважды нажмите сочетание клавиш CTRL + A, чтобы выделить всю таблицу, включая заголовки таблицы.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Содержание

  1. How do I find the last column with data?
  2. 7 Answers 7
  3. Как определить последнюю ячейку на листе через VBA?

How do I find the last column with data?

I’ve found this method for finding the last data containing row in a sheet:

Is there a similar method for finding the last data containing column in a sheet?

7 Answers 7

Lots of ways to do this. The most reliable is find.

If you want to find the last column used in a particular row you can use:

Using used range (less reliable):

Using used range wont work if you have no data in column A. See here for another issue with used range:

See Here regarding resetting used range.

I know this is old, but I’ve tested this in many ways and it hasn’t let me down yet, unless someone can tell me otherwise.

Try using the code after you active the sheet:

If you use Cells.SpecialCells(xlCellTypeLastCell).Row only, the problem will be that the xlCellTypeLastCell information will not be updated unless one do a «Save file» action. But use UsedRange will always update the information in realtime.

I think we can modify the UsedRange code from @Readify’s answer above to get the last used column even if the starting columns are blank or not.

So this lColumn = ws.UsedRange.Columns.Count modified to

this lColumn = ws.UsedRange.Column + ws.UsedRange.Columns.Count — 1 will give reliable results always

Above line Yields 9 in the immediate window.

Источник

Как определить последнюю ячейку на листе через VBA?

Очень часто при внесении данных на лист Excel возникает вопрос определения последней заполненной или первой пустой ячейки. Чтобы впоследствии с этой первой пустой ячейки начать заносить данные. В этой теме я опишу несколько способов определения последней заполненной ячейки.

В качестве переменной, которой мы будем присваивать номер последней заполненной строки, у нас во всех примерах будет lLastRow . Объявлять мы её будем как Long . Для экономии памяти можно было бы использовать и тип Integer , но т.к. строк на листе может быть больше 32767(это максимальное допустимое значение переменных типа Integer ) нам понадобиться именно Long , во избежание ошибки. Подробнее про типы переменных можно прочитать в статье Что такое переменная и как правильно её объявить

Одинаковые переменные для всех примеров
Во всех примерах ниже мы будем запоминать номер последней строки или столбца в одни и те же переменные:

Dim lLastRow As Long ‘а для lLastCol можно было бы применить и тип Integer, ‘т.к. столбцов в Excel пока меньше 32767, но для однообразности назначим тоже Long Dim lLastCol As Long

Способ 1:
Определение последней заполненной строки через свойство End

lLastRow = Cells(Rows.Count,1).End(xlUp).Row ‘или lLastRow = Cells(Rows.Count, «A»).End(xlUp).Row

1 или «A» — это номер или имя столбца, последнюю заполненную ячейку в котором мы определяем. По сути обе приведенные строки дадут абсолютно одинаковый результат. Просто иногда удобнее указать номер столбца, а иногда его имя. Поэтому использовать можно любой из приведенных вариантов, в зависимости от ситуации.
Определение последнего столбца через свойство End

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

1 — это номер строки, последнюю заполненную ячейку в которой мы определяем.

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

Метод основан именно на принципе работы свойства End. На примере поиска последней строки опишу принцип так, как бы мы это делали руками через выделение ячеек на листе:

  • выделили самую последнюю ячейку столбца А на листе(для Excel 2007 и выше это А1048576 , а для Excel 2003 — А65536 )
  • и выполнили переход вверх комбинацией клавиш Ctrl + стрелка вверх . Данная комбинация заставляет Excel двигаться вверх(если точнее, то в направлении стрелки, нажатой вместе с Ctrl ) до тех пор, пока не встретиться первая ячейка с формулой или значением. А в случае, если сочетание было вызвано из уже заполненных ячеек — то до первой пустой. И как только Excel доходит до этой ячейки — он её выделяет
  • А через свойство .Row мы просто получаем номер строки этой выделенной ячейки
  • даже если в ячейке нет видимого значения, но есть формула — End посчитает ячейку не пустой. С одной стороны вполне справедливо. Но иногда нам надо определить именно «визуально» заполненные ячейки. Поиск ячеек при подобных условиях будет описан ниже(Способ 4: Определение последней ячейки через метод Find)
  • если на листе заполнены все строки в просматриваемом столбце(или будут заполнены несколько последних ячеек столбца или даже только одна последняя) — то результат может быть неверный(ну или не совсем такой, какой ожидали)
  • Данный способ игнорирует строки, скрытые фильтром, группировкой или командой Скрыть (Hide) . Т.е. если последняя строка таблицы будет скрыта, то данный метод вернет номер последней видимой заполненной строки, а не последней реально заполненной.

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

Способ 2:
Определение последней заполненной строки через SpecialCells

Определение последнего столбца через SpecialCells

Данный метод не требует указания номера столбца и возвращает последнюю ячейку(Row — строку, Column — столбец).
Если хотите получить номер первой пустой строки или столбца на листе — к результату необходимо прибавить 1.
Нюансы:

    Используя данный способ следует помнить, что не всегда можно получить реальную последнюю заполненную ячейку, т.е. именно ячейку со значением. Метод SpecialCells определяет самую «дальнюю» ячейку на листе, используя при этом механизм «запоминания» тех ячеек, в которых мы работали в данном листе. Т.е. если мы занесем в ячейку AZ90345 значение и сразу удалим его — lLastRow, полученная через SpecialCells будет равна значению именно этой ячейки, из которой вы только что удалили значения(т.е. 90345). Другими словами требует обязательного обновления данных, а этого можно добиться только сохранив файла, а временами даже только закрыв файл и открыв его снова. Так же, если какая-либо ячейка содержит форматирование(например, заливку), но не содержит никаких значений, то метод SpecialCells посчитает её используемой и будет учитывать как заполненную.
    Этот недостаток можно попробовать обойти, вызвав перед определением последней ячейки вот такую строку кода:

With ActiveSheet.UsedRange: End With

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

Sub GetLastCell() Dim lLastRow As Long ‘переопределяем рабочий диапазон листа With ActiveSheet.UsedRange: End With ‘ищем последнюю заполненную ячейку на листе lLastRow = Cells.SpecialCells(xlLastCell).Row End Sub

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

Способ 3:
Определение последней строки через UsedRange

lLastRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count — 1

Определение последнего столбца через UsedRange

lLastCol = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count — 1

  • ActiveSheet.UsedRange.Row — этой строкой мы определяем первую ячейку, с которой начинаются данные на листе. Важно понимать для чего это — если у вас первые строк 5 не заполнены ничем(т.е. самые первые данные заносились начиная с 6-ой строки листа), то ActiveSheet.UsedRange.Row вернет именно 6(т.е. номер первой строки с данными). Если же все строки заполнены — то вернет 1.
  • ActiveSheet.UsedRange.Rows.Count — определяем кол-во строк, входящих в весь диапазон данных на листе. При этом неважно, есть ли данные в ячейках или нет — достаточно было поработать в этих ячейках и удалить значения или просто изменить цвет заливки.
    В итоге получается: первая строка данных + кол-во строк с данными — 1 . Зачем вычитать единицу? Попробуем посчитать вместе: первая строка: 6. Всего строк: 3. 6 + 3 = 9. Вроде все верно. А теперь выделим на листе три ячейки, начиная с 6-ой. Выделение завершилось на 8-ой строке. Потому что в 6-ой строке уже есть данные. Поэтому и надо вычесть 1, чтобы учесть этот момент. Думаю, не надо пояснять, что если надо получить первую пустую ячейку — можно 1 не вычитать 🙂
  • То же самое и с ActiveSheet.UsedRange.Column , только уже не для строк, а для столбцов.
  • Обладает некоторыми недостатками предыдущего метода. Определяет самую «дальнюю» ячейку на листе, используя при этом механизм «запоминания» тех ячеек, в которых мы работали в данном листе. Следовательно попробовать обойти этот момент можно точно так же: перед определением последней строки/столбца записать строку: With ActiveSheet.UsedRange: End With
    Это должно переопределить границы рабочего диапазона и тогда определение последней строки/столбца сработает как ожидается, даже если до этого в ячейке содержались данные, которые впоследствии были удалены.
  • даже если в ячейке нет видимого значения, но есть формула — UsedRange посчитает ячейку не пустой

Однако метод через UsedRange.Row работает прекрасно и при установленной на лист защите и внутри UDF, что делает его более предпочтительным, чем метод через SpecialCells при равных условиях.

Способ 4:
Определение последней строки и столбца, а так же адрес ячейки методом Find

Sub GetLastCell_Find() Dim rF As Range Dim lLastRow As Long, lLastCol As Long ‘ищем последнюю ячейку на листе, в которой хранится хоть какое-то значение Set rF = ActiveSheet.UsedRange.Find(What:=»*», LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious, MatchCase:=False, MatchByte:=False) If Not rF Is Nothing Then lLastRow = rF.Row ‘последняя заполненная строка lLastCol = rF.Column ‘последний заполненный столбец MsgBox rF.Address ‘показываем сообщение с адресом последней ячейки Else ‘если ничего не нашлось — значит лист пустой ‘и можно назначить в качестве последних первую строку и столбец lLastRow = 1 lLastCol = 1 MsgBox «A1» ‘показываем сообщение с адресом ячейки А1 End If End Sub

Этот метод, пожалуй, самый оптимальный в случае, если надо определить последнюю строку/столбец на листе без учета форматов и формул — только по отображаемому значению в ячейке. Например, если на листе большая таблица и последние строки заполнены формулами, возвращающими при определенных условиях пустую ячейку( =ЕСЛИ( A1 >0;1;»») ), предыдущие варианты вернут строку/столбец ячейки с последней ячейкой, в которой формула. В то время как данный метод вернет адрес ячейки только в случае, если в ячейке реально отображается какое-то значение. Такой подход часто используется для того, чтобы определить границы данных для последующего анализа заполненных данных, чтобы не захватывать пустые ячейки с формулами и не тратить время на их проверку.
Здесь следует обратить внимание на параметры метода Find. В данном случае мы специально указываем искать по значениям, а не по формулам:
Set rF = ActiveSheet.UsedRange.Find(What:=»*», LookIn:=xlValues , LookAt:=xlWhole, SearchDirection:=xlPrevious, MatchCase:=False, MatchByte:=False)
Нюансы:

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

Пара небольших практических кодов
Коды ниже могут помочь понять, как использовать приведенные выше строки кода по поиску последней ячейки/строки:

Sub GetLastCell() Dim lLastRow As Long Dim lLastCol As Long ‘определили последнюю заполненную ячейку с учетом формул в столбце А lLastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox «Заполненные ячейки в столбце А: » & Range(«A1:A» & lLastRow).Address ‘определили последний заполненный столбец на листе(с учетом формул и форматирования) lLastCol = Cells.SpecialCells(xlLastCell).Column MsgBox «Заполненные ячейки в первой строке: » & Range(Cells(1, 1), Cells(1, lLastCol)).Address ‘выводим сообщение с адресом последней ячейки на листе(с учетом формул и форматирования) MsgBox «Адрес последней ячейки диапазона на листе: » & Cells.SpecialCells(xlLastCell).Address End Sub

Выделяем диапазон ячеек в столбцах с А по С, определяя последнюю ячейку по столбцу A этого же листа:

Sub SelectToLastCell() Range(«A1:C» & Cells(Rows.Count, 1).End(xlUp).Row).Select End Sub

Копируем ячейку B1 в первую пустую ячейку столбца A этого же листа:

Sub CopyToFstEmptyCell() Dim lLastRow As Long lLastRow = Cells(Rows.Count, 1).End(xlUp).Row ‘определили последнюю заполненную ячейку Range(«B1»).Copy Cells(lLastRow+1, 1) ‘скопировали В1 и вставили в следующую после определенной ячейки End Sub

А код ниже делает тоже самое, но одной строкой — применяется Offset и используется тот факт, что изначально методом End мы получаем именно ячейку, а не номер строки(номер строки мы получаем позже через свойство .Row):

Sub CopyToFstEmptyCell() Range(«B1»).Copy Destination:=Cells(Rows.Count, 1).End(xlUp).Offset(1) End Sub

Range(«B1»).Copy — копирует ячейку В1 . Если для аргумента Destination указать другую ячейку, то в неё будет вставлена скопированная ячейка. Мы передаем в этот аргумент определенную методом End ячейку
Cells(Rows.Count, 1).End(xlUp) — возвращает последнюю заполненную ячейку в столбце А (не строку, а именно ячейку)
Offset(1) — смещает полученную ячейку на строку вниз
Используем инструмент автозаполнение(протягивание) столбца В , начиная с ячейки B2 и определяя последнюю ячейку для заполнения на основании столбца А

Sub AutoFill_B() Dim lLastRow As Long lLastRow = Cells(Rows.Count, 1).End(xlUp).Row Range(«B2»).AutoFill Destination:=Range(«B2:B» & lLastRow) End Sub

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

Статья помогла? Поделись ссылкой с друзьями!

Источник

Понравилась статья? Поделить с друзьями:
  • Последняя строка в excel как попасть
  • Последний столбец в word
  • Последняя строка excel delphi
  • Последний столбец в excel номер
  • Последняя операция в excel