Как выделить весь лист в excel макрос

 

Доброго времени суток, господа.
Созрел у меня вопрос: как реализовать функцию «выделить все» (Ctrl+A) в макросе экселя?
Допустим есть таблицы, число строк у которых всегда разное. Если записать макрос использовав сочитание клавиш Ctrl+A, то в макросе будет записан диапазон ячеек. Например, если таблица имеет 3 столбика и 20 строк, то в макросе будет диапазон A1:C20. Все бы ничего, но при работе с другой таблицей, у которой 3 столбца и 50 строк, макрос будет работать не правильно (ибо диапазон, после A1:C20 не будет обрабатываться).
Как вариант, я поставил диапазон A1:C5000 (заведомо огромный, чтобы включить возможные размеры таблиц), но подозреваю, что есть более простой вариант реализации  :)  
Так как же «выделить все» макросом, не зная за ранее размеров таблицы?

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

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

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#3

08.01.2013 21:58:22

В общем случае это может выглядеть так:

Код
Sub qqq()
Dim LastRow As Long, LastColumn As Integer
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row 'последняя строка по столбцу А
    LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column 'последний столбец по первой строке
    Range(Cells(1, 1), Cells(LastRow, LastColumn)).Select
End Sub
 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

поэкспериментиовал…
насколько я понял, Ctrl+A аналогично свойству CurrentRegion
за одним исключением — если в CurrentRegion окажется только одна ячейка (даже объединенная) — то тогда берется Worksheet.Cells
именно все Cells листа, а не UsedRange

имхо, Cells брать смысла нет, остается выбрать между CurrentRegion и UsedRange — смотря по задаче.

Изменено: ikki08.01.2013 22:07:47

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

Андрей

Пользователь

Сообщений: 30
Регистрация: 08.01.2013

В строке макроса в место
Range(«A1:C20»).Select или Range(«A1:C5000»).Select
поставить
Cells.Select
(это Ctrl+A в макросе)
или как предлагает Юрий М

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#6

08.01.2013 22:06:34

Цитата
Андрей пишет:
Cells.Select

Это Вы немного погорячились :)

 

Андрей, я так пытался сделать, но макрос после этого вместо 2х секунд начал выполняться 20 минут  :)

ikki, это хороший вариант. Загуглю позже, спасибо за посказку.

Юрий М, спасибо. Сейчас буду пробовать, позже отпишусь о результатах.

 

Вот что мне помогло —

http://www.youtube.com/watch?v=YXDJjTzB6EQ

В моем случае Ctrl+A работает как CurrentRegion.

Юрий М, я так и не осилил вашу часть кода (не шибко то я опытен в программировании vba), не могли бы вы описать в чем собственно заключается идея исспользования данного кода?

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#9

09.01.2013 00:59:44

Цитата
Derian Fox пишет:
макрос после этого вместо 2х секунд начал выполняться 20 минут

Совет Cells.Select — плохой совет: будут выделены все ячейки на листе
Идея заключается в том, что Вы и хотели добиться :-) — определять последнюю строку и последний столбец (чтобы не выделять лишних ячеек).
===
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Эта строка кода найдёт последнюю заполненную ячейку в столбце А. Если нужно по другому столбцу — поменяйте 1 на номер нужного столбца.
LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
Эта строка кода просмотрит ПЕРВУЮ строку на листе и определит последнюю заполненную ячейку: это и будет номер столбца.

Цитата
Derian Fox пишет:
Юрий М, я так и не осилил вашу часть кода

А что её осиливать? На чистом листе введите что-нибудь, например, в ячейки А10 и F1. Затем выполните тот маленький макрос. Будет выделен ТОЛЬКО диапазон, не выходящий за пределы ячеек с данными.

 

Derian Fox

Пользователь

Сообщений: 104
Регистрация: 08.01.2013

#10

10.01.2013 14:03:28

Юрий М, Потестил. Все шикарно работает, спасибо за обьяснение.

Содержание

  1. Как вы выбираете весь лист excel с помощью Range с помощью макроса в VBA?
  2. Выделить все в эксель
  3. Выделение таблицы в Microsoft Excel
  4. Процедура выделения
  5. Способ 1: простое выделение
  6. Способ 2: выделение комбинацией клавиш
  7. Способ 3: выделение клавишей Shift
  8. Выделение ячеек в Microsoft Excel
  9. Процесс выделения
  10. Способ 1: отдельная ячейка
  11. Способ 2: выделение столбца
  12. Способ 3: выделение строки
  13. Способ 4: выделение всего листа
  14. Способ 5: выделение диапазона
  15. Способ 6: применение горячих клавиш
  16. Выделение одного или нескольких листов
  17. Поиск и выделение ячеек, соответствующих определенным условиям
  18. Найти и выделить в Excel
  19. Найти
  20. Заменить
  21. Выделение группы ячеек
  22. Выделение диапазонов ячеек в MS EXCEL
  23. Выделяем диапазон смежных ячеек
  24. Выделяем большой диапазон смежных ячеек
  25. Выделяем все ячейки листа
  26. Выделяем несмежные ячейки или диапазоны ячеек
  27. Выделяем всю строку или весь столбец
  28. Выделяем последнюю ячейку листа, которая содержит данные или форматирование
  29. Как в экселе выделить все строки с нужным словом?

Как вы выбираете весь лист excel с помощью Range с помощью макроса в VBA?

Я нашел аналогичное решение этого вопроса в С#… См. Ссылку ниже

У кого-нибудь есть фрагмент, чтобы сделать это в VBA? Я не очень знаком с VBA, так что это было бы полезно. Вот что у меня так далеко…

Я обычно выбираю данные, используя “Ctrl + стрелка над стрелкой, стрелка вниз”, чтобы выделить весь диапазон ячеек. Когда я запускаю это в макросе, он кодирует A1: Q398247930, например. Мне нужно это просто

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

редактировать: есть другие части, где я мог бы использовать тот же код, но диапазон, скажем, “C3: конец строк и столбцов”. В VBA есть способ получить местоположение последней ячейки в документе?

Я считаю, что вы хотите найти текущую область A1 и окружающих клеток – не обязательно все ячейки на листе.
Если так – просто используйте…
Range ( “A1” ). CurrentRegion

Вы можете просто использовать cells.select , чтобы выбрать ячейки all на листе. Вы можете получить действительный адрес, указав Range(Cells.Address) .

Если вы хотите найти последний Used Range , где вы внесли некоторые изменения форматирования или ввели значение, вы можете вызвать ActiveSheet.UsedRange и выбрать его там. Надеюсь, что поможет

вы можете использовать все ячейки как объект:

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

у вас есть несколько вариантов:

  • Использование свойства UsedRange
  • найдите последнюю используемую строку и столбец
  • используйте мимику сдвига и сдвига вправо

Я лично использую использованный диапазон и чаще всего использую метод последней строки и столбца.

Вот как вы это сделаете, используя свойство UsedRange:

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

Альтернативой является поиск самой последней ячейки, используемой на листе

Что делает этот код:

  • Найти последнюю ячейку, содержащую любое значение
  • выберите ячейку (1,1) до последней ячейки

Я бы рекомендовал записывать макрос, например, найденный в этом сообщении;

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

Вы остаетесь с R = до номера строки после окончания ваших данных. Это также можно использовать для столбца, а затем вы можете использовать что-то вроде Cells (C, R). Выберите, если вы сделали C представление столбца.

Вот то, что я использовал, я знаю, что это может использовать некоторые усовершенствования, но я думаю, что это поможет другим…

Возможно, это может сработать:

Sh.Range( “A1”, Sh.Range( “A” и Rows.Count).End(xlUp))

Обращаясь к самому первому вопросу, я изучаю то же самое.
Результат, который я получаю, записывая макрос, начинается с выбора ячейки A76:

Использовать с ActiveSheet:

Другой способ выбора всех ячеек в диапазоне, если данные непрерывны, состоит в использовании Range(«A1», Range(«A1»).End(xlDown).End(xlToRight)).Select .

Я обнаружил, что метод “.UsedRange” на рабочем листе во многих случаях лучше для решения этой проблемы. Я боролся с проблемой усечения, которая является нормальным поведением метода .CurrentRegion. Использование [Worksheets (“Sheet1”). Range (“A1”). CurrentRegion] не дает желаемых результатов, когда рабочий лист состоит из одного столбца с пробелами в строках (и пробелы требуются). В этом случае “.CurrentRegion” будет обрезаться при первой записи. Я реализовал работу вокруг, но недавно нашел еще лучшую; см. код ниже, который позволяет скопировать весь набор на другой лист или идентифицировать фактический адрес (или только строки и столбцы):

Источник

Выделить все в эксель

Выделение таблицы в Microsoft Excel

​Смотрите также​CTRL+SHIFT+КЛАВИША СО СТРЕЛКОЙ​ до первой незаполненной​Урок подготовлен для Вас​Нажмите кнопку​(Найти и заменить)​, чтобы найти все​ массиве.​ данных, таких как​ заголовка в верхней​Мы стараемся как​Shift​ опять же, обязательным​ Важным условием для​ Прежде всего, такое​ кликаем левой кнопкой​ пользователь наберет данную​Работа с таблицами –​

​позволяет выделить все​ ячейки. Чтобы распространить​

Процедура выделения

​ командой сайта office-guru.ru​Replace​ в Excel, чтобы​ ячейки, на которые​Объекты​ формулы с помощью​ части листа. Чтобы​ можно оперативнее обеспечивать​на клавиатуре и​ условием в данном​ выполнения данной процедуры​

Способ 1: простое выделение

​ разнообразие связано с​ мыши.​ комбинацию, когда курсор​ это основная задача​ ячейки столбца или​ выделение на заполненные​Источник: http://www.excel-easy.com/basics/find-select.html​(Заменить), чтобы сделать​ быстро найти нужный​ ячейки в выделенном​Графические объекты (в том​ команды​ отменить выделение нескольких​ вас актуальными справочными​ последовательно кликнуть по​ случае является наличие​

​ является отсутствие пустых​ тем, что существует​Не отпуская клавишу​ находится в пустой​ программы Excel. Для​ строки.​ столбцы справа, нужно,​Перевела: Ольга Гелих​ одну замену.​

​ текст и заменить​​ диапазоне ссылаются непосредственно​ числе диаграммы и​

Способ 2: выделение комбинацией клавиш

​Перейти​ листов в книге,​ материалами на вашем​ верхней левой и​​ данных во всех​​ ячеек в данной​ необходимость выделения различных​Shift​ или в отдельно​ того, чтобы произвести​Чтобы выделить последнюю ячейку​ удерживая клавишу​Автор: Антон Андронов​Примечание:​ его другим текстом.​ или косвенно.​ кнопки) на листе​. Кроме того, с​ щелкните лист или​​ языке. Эта страница​​ нижней правой ячейке​ ячейках строчки.​ колонке таблицы. В​ групп ячеек (диапазонов,​, прокручиваем лист к​ стоящей заполненной ячейке.​ комплексное действие над​ листа, которая содержит​SHIFT​На листе с помощью​Используйте​

​ Также вы можете​Зависимые ячейки​ и в текстовых​ помощью​ не выбрано. Если​ переведена автоматически, поэтому​​ выделяемой области. Либо​​Для выделения всей строки​

​ обратном случае, будет​ строк, столбцов), а​

​ концу таблицы, если​ Если нажатие сочетания​ всей табличной областью,​ данные или форматирование,​, дважды щелкнуть по​ клавиатуры можно выделить​Replace All​ использовать команду​Ячейки с формулами, которые​ полях.​Перейти к​ ни одна таблица​ ее текст может​ выполнив операцию в​ листа делаем клик​ отмечена только область​ также потребность отметить​ она не умещается​ кнопок​ её нужно сначала​

​ нажмите сочетание клавиш​​ правой границе ранее​

Способ 3: выделение клавишей Shift

​ ячейки (несмежные и​(Заменить все), чтобы​Go To Special​ ссылаются на активную​Отличия по строкам​найти только ячейки,​ не выбрано невидим,​​ содержать неточности и​​ обратном порядке: кликнуть​ по соответствующему сектору​ до первого пустого​ элементы, которые соответствуют​ по высоте в​Ctrl+A​ выделить, как цельный​

  1. ​CTRL+END​​ выделенного диапазона.​​ смежные), диапазоны, строки​ заменить все вхождения.​(Выделение группы ячеек),​ ячейку. Выполните одно​Все ячейки, которые отличаются​
  2. ​ которые соответствуют определенным​​ щелкните правой кнопкой​​ грамматические ошибки. Для​ по нижней левой​ вертикальной панели координат,​ элемента.​ определенному условию. Давайте​ экран монитора. Устанавливаем​произвести, когда курсор​ массив. Не все​. Сама ячейка может​Нажмите кнопку Выделить все​

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

​ находится в одной​ пользователи умеют правильно​ быть пуста и​ в левом верхнем​Это статья про выделение​Go To Special​ все ячейки с​ действий.​ в выбранной строке.​ последнюю ячейку на​​ листа и выберите​​ эта статья была​ ячейке массива. Диапазон,​Если нужно выделить подобным​

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

​ Но, она находится​

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

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

​ все ячейки с​ т.д.​

Процесс выделения

​, чтобы найти только​ активной ячейки, является​Сделайте следующее:​Разгруппировать листы​ секунд и сообщить,​Также существует возможность выделения​ мышкой с зажатой​

Способ 1: отдельная ячейка

​ этом случае нужно​ Excel​ мыши.​ заполненных данными), то​ этого элемента. Давайте​ столбце и в​А1​ про выделение (Highlight)​ формулами, комментарии, условным​​Чтобы быстро найти определенный​​ ячейки с формулами,​​ ли диапазон, строки​​Начинать, выполнив одно из​​.​​ помогла ли она​​ разрозненных ячеек или​​ левой кнопкой по​

Способ 2: выделение столбца

​ просто кликнуть левой​В процессе выделения можно​После этого действия вся​ при первом нажатии​ узнаем, как при​ самой нижней строке,​). Другой вариант -​ ячеек цветом с​

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

​ будет выделена только​ помощи различных вариантов​ ячейки которых имеют​ нажать сочетание клавиш​ помощью Условного форматирования.​ т.д. Например, чтобы​ инструкции:​​ активную ячейку.​ помощью клавиши ВВОД​​Чтобы выполнить поиск определенных​Данные, введите или измените​ кнопок внизу страницы.​ любым из вышеперечисленных​ панели координат.​ соответствующему сектору горизонтальной​ так и клавиатуру.​ Причем выделение произойдет​ эта область и​ можно произвести данную​ форматирование и не​CTRL+A​Для того чтобы выделить​

​ выбрать все ячейки​На вкладке​Выберите вариант​ или Tab, вы​ ячеек на всем​ в активный лист​ Для удобства также​ способов нужно выделять​Также можно зажать кнопку​ панели координат, где​ Существуют также способы,​

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

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

​ где эти устройства​ диапазона между двумя​ – весь лист.​​Скачать последнюю версию​​ таким образом ячейка​ данные,​ необязательно отрывать руки​ следующее:​(Главная) нажмите кнопку​, чтобы найти все​

Способ 3: выделение строки

​ активной ячейки, которые​ ячейку.​ выбранных листов. Эти​

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

​ ячейками, по которым​А таблица и есть,​​ Excel​​ находится в незаполненных​CTRL+A​ с клавиатуры и​

​Выделите одну ячейку.​Find & Select​ ячейки, ссылающиеся на​ по умолчанию —​Чтобы выполнить поиск определенных​ изменения может заменять​ языке) .​​ хочет обозначить, но​ по первому и​​Если нужно выделить несколько​ с другом.​ мы кликали. Таким​ по сути, непрерывным​Существует несколько способов выделения​ строке и столбце.​выделяет текущую область.​

​ браться за мышку.​На вкладке​(Найти и выделить)​ активную ячейку непосредственно​ первую ячейку в​

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

​ образом, даже при​​ диапазоном. Поэтому, кликаем​​ таблицы. Все они​ Чтобы все встало​ Повторное нажатие сочетания​ Для выделения диапазона​Home​ и выберите​

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

Способ 4: выделение всего листа

​ наличии в смежных​ по любой её​ довольно просты и​ на свои места​ клавиш​ достаточно выделить ячейку​(Главная) кликните по​Find​Последнюю ячейку​Если выбран более одной​ диапазон, строк или​ случайно — от​

​ окна Excel, можно​ кнопка​ диапазона строк, который​​ зажатой левой кнопкой​​ навести на неё​ диапазонах областей с​ ячейке и набираем​ применимы практически во​ — сохраните книгу.​CTRL+A​ — левый верхний​Find & Select​(Найти).​Последнюю ячейку на листе,​

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

​ строки, сравнение выполняется​ столбцов, которые должны.​ других выбранные листы.​ быстро выделить один​Ctrl​ следует выделить.​ по соответствующим секторам​ курсор и кликнуть​ данными, они не​

​ сочетание клавиш​ всех случаях. Но​​У меня есть список​​позволяет выделить все​ угол диапазона, затем​(Найти и выделить)​Появится диалоговое окно​ содержащую данные или​ для каждого отдельного​ Дополнительные сведения читайте​Невозможно вставить данные, копировать​ или несколько листов.​.​Если нужно провести выделение​ панели координат.​

​ левой кнопкой мыши.​ будут включены в​Ctrl+A​ при определенных обстоятельствах​ жертв вяземского концлагеря,​ ячейки листа.​ нажать клавишу​ и выберите​Find and Replace​ форматирование.​ ряда выделенного фрагмента​​ в статье Выбор​​ или Вырезать в​

Способ 6: применение горячих клавиш

​ Для ввода или​Можно производить выделение отдельных​ разрозненных строк, то​

  • ​Есть и альтернативное решение.​​ Также такое выделение​ это выделение.​
  • ​.​​ одни из этих​ мне нужно выделить​
  • ​Выделите первую ячейку или​SHIFT​​Go To Special​(Найти и заменить).​Только видимые ячейки​
  • ​ и ячейку, которая​ ячеек, диапазонов, строк​​ сгруппированных листы на​ редактирования данных на​ областей с помощью​

​ клик по каждому​ Зажимаем кнопку​ можно провести, используя​

​Выделение также можно производить​​Таблица будет выделена, как​

​ вариантов использовать легче,​ все строки со​ диапазон ячеек и,​и одну из​(Выделение группы ячеек).​Введите текст, который требуется​Только ячейки, видимые в​ используется для сравнения​ или столбцов на​ другой лист, поскольку​ нескольких листах одновременно,​ горячих клавиш:​ из секторов на​Shift​ кнопки на клавиатуре​ и в обратном​ единый диапазон.​ чем другие. Остановимся​ словом «Новосибирская область»​

Выделение одного или нескольких листов

​ стрелок (вниз, вверх,​​Примечание:​ найти, к примеру,​ диапазоне, который пересекается​ для каждой дополнительной​ листе.​ размер области копирования​ можно сгруппировать листов,​Ctrl+Home​ вертикальной панели координат​и отмечаем первый​ кнопки навигации​ порядке. Сначала нижнюю​Безусловным преимуществом данного варианта​ на нюансах применения​ и скинуть в​CTRL​ влево, вправо).​Формулы, комментарии, условное​ «Ferrari».​ со скрытыми строками​ строки находится в​

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

​ форматирование, константы и​

​ том же столбце​ Чтобы отменить выделение ячеек,​ все слои выбранные​

​ Вы можете форматировать​ ячейки с данными;​ кнопкой​ последовательности. Затем, не​,​

​ верхнюю. Можно процедуру​

​ даже самая большая​Наиболее распространенный вариант выделения​ в экселе работать​ остальные ячейки или​ строк отображается в​ проверка данных –​

​Условные форматы​ как активную ячейку.​ щелкните любую ячейку​ листы (которые отличается​ или распечатать несколько​Ctrl+End​

​ отпуская кнопку, кликаем​«Вверх»​ осуществлять и в​ таблица может быть​ таблицы, которым пользуются​​ не умею вообще.​​ диапазоны. Также можно,​

​ поле Имя (слева​​ все это можно​​(Найти далее).​​Только ячейки, которые применено​Отличия по столбцам​ на листе.​ от области вставки​ листов одновременно.​– выделение последней​.​ по последнему сектору​,​ другом направлении: выделить​ выделена практически моментально.​ практически все пользователи​ помогите пожалуйста. ​ выбрав первую ячейку​​ от Строки формул)​​ найти с помощью​

​Excel выделит первое вхождение.​

​ условное форматирование. В​Все ячейки, которые отличаются​На вкладке «​ на одном листе).​Чтобы выделить​ ячейки с данными;​Существует два варианта этой​ панели координат в​«Вправо»​

​ верхнюю правую и​ Но у этого​ – это применение​Шаригуль​ или диапазон ячеек,​ в формате 3Rx1C,​ команды​Нажмите кнопку​ разделе​ от активной ячейки​Главная​ Важно убедитесь, что​Выполните следующие действия​Ctrl + Shift +​ процедуры для всего​ последовательности колонок.​

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

Поиск и выделение ячеек, соответствующих определенным условиям

​ нажать сочетание клавиш​​ что означает, что​Go To Special​Find Next​»Проверка данных»​ в выделенном столбце.​» нажмите кнопку​ выбрана только один​Один лист​ End​ листа. Первый из​Если нужно выделить разрозненные​«Влево»​ с зажатой клавишей​ свои «подводные камни».​ прост и интуитивно​ с нажатой кнопкой​SHIFT+F8​ выделено 3 ячейки​(Выделение группы ячеек).​(Найти далее) еще​выполните одно из​

​ Всегда найдется одной​Найти и выделить >​ лист, перед тем​Перейдите на вкладку лист,​– выделение ячеек​ них заключается в​​ колонки листа, то​​.​Shift​​ Если непосредственно в​​ понятен. Зажимаем левую​ «ctrl»​, чтобы добавить другую​ в одном столбце.​Поставьте галочку напротив​ раз, чтобы выделить​

​ указанных ниже действий.​

​ активной ячейки в​Перейти​

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

​ тогда зажимаем кнопку​Для того, чтобы отметить​. Итоговый результат от​ ячейке у границ​ кнопку мыши и​Roman sikorsky​ несмежную ячейку или​После того, как Вы​Formulas​ второе вхождение.​

​все​​ выделенном фрагменте, будет​(в группе «​ перемещение данных на​

​ изменить.​​ используемой;​​ по прямоугольной кнопке,​​Ctrl​ ​ столбец в таблице,​​ направления и порядка​​ табличной области занесено​​ обводим курсором весь​

​: включаешь фильтр, ненужные​​ диапазон ячеек к​ отпустили клавишу​

​(Формулы) и нажмите​​Чтобы получить список всех​​, чтобы найти все​

​ ли это диапазон,​​Редактирование​​ другой лист.​Если вы не видите​

​ расположенной на пересечении​

​ нужно зажать левую​

​ абсолютно не зависит.​

​ какое-то значение или​

​ табличный диапазон. Процедуру​

​ строки прячутся, нужные​

​ области выделения. Чтобы​​SHIFT​​ОК​​ вхождений, кликните по​

​ ячейки, к которым​

​ строки или столбца.​

​Если сохранить и закрыть​ вкладку, которую вы​

​ вертикальных и горизонтальных​ её, кликаем по​ кнопку мыши и​

​Как видим, существует три​

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

​Find All​ применено условное форматирование;​ С помощью клавиши​Сочетание клавиш:​ книгу со сгруппированными​ хотите, нажмите кнопки​– выделение ячеек​ координат. После этого​ сектору на горизонтальной​ провести от самой​ основных способа выделения​ автоматически выделен и​ по периметру, так​В 2007 версии​ нажмите сочетание клавиш​

​ адрес активной ячейки.​Примечание:​(Найти все).​этих же​ ВВОД или Tab,​ Нажмите клавиши CTRL +​ листами, при последующем​ прокрутки, чтобы найти​ вверх до начала​ действия будут выделены​

​ панели координат каждого​

​ верхней ячейки колонки​ таблицы в Excel.​ тот смежный столбец​ и по диагонали.​ фильтр включается на​SHIFT+F8​Если диапазон ячеек, который​Вы можете искать​Чтобы быстро найти определенный​, чтобы найти ячейки​ можно изменить расположение​ G.​ открытии файла выделенные​ на вкладке.​ листа.​

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

​ текст и заменить​

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

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

​ все ячейки данной​​ Данные — Фильтр​ ячейки или диапазоны​ помещается на видимой​ которые возвращают числа,​ его другим текстом,​

​ условным форматированием, что​

​ — по умолчанию​Дополнительный​Примечание:​Щелкните ярлычок первого листа,​ сэкономить время на​

​К этому же результату​​По аналогичному принципу выделяются​​Есть и другой вариант​ неудобный для больших​ Такое положение вещей​ области будут отмечены.​

​Abram pupkin​​ ячеек из области​​ части листа, то​ текст, логические операторы​ выполните следующие действия:​ и в выделенной​

​.​Мы стараемся как​ а затем удерживая​

​ приведет нажатие комбинации​ и строки в​ решения данной задачи.​ табличных областей. Самый​

​ далеко не всегда​

​Простота и понятность –​: Фраза «. в экселе​ выделения несмежных ячеек;​​ можно уменьшить масштаб​​ (ИСТИНА и ЛОЖЬ)​На вкладке​

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

​ нажатой клавишу SHIFT,​​Урок:​ клавиш​ Экселе.​ Зажимаем кнопку​ быстрый вариант –​

​ главное преимущество данного​ работать не умею​ можно лишь отменить​ отображения листа (см.​

​ и ошибки. Также​​Home​​Проверка данных​Если выбрать более одного​Выделить группу ячеек​

​ вас актуальными справочными​​ щелкните ярлычок последнего​​Горячие клавиши в Экселе​Ctrl+A​Для выделения одной строки​Shift​ это использование комбинации​Урок:​

Найти и выделить в Excel

  • ​ варианта. В то​
  • ​ вообще. подразумевает что​
  • ​ все выделение целиком.​

​ статью Быстрое изменение​​ эти опции станут​​(Главная) нажмите кнопку​Только ячейки, которые применены​ столбца, сравнение выполняется​выберите один из​ материалами на вашем​ листа, который требуется​Как видим, существует большое​​. Правда, если в​​ в таблице просто​на клавиатуре и​ клавиш​Горячие клавиши в Экселе​ же время, хотя​ Вам надо дать​

Найти

​Щелкните заголовок строки или​ масштаба отображения листа)​ доступны, если вы​

    ​Find & Select​​ правила проверки данных.​​ для каждого отдельного​​ указанных ниже вариантов.​​ языке. Эта страница​ выделить.​​ количество вариантов выделения​​ это время курсор​

​ проводим по ней​​ кликаем по верхней​​Ctrl+A​

  • ​Существует способ, который поможет​ и для больших​ готовую формулу​
  • ​ столбца. Строку или​​ или щелкнуть первую​​ отметите пункт​

    ​(Найти и выделить)​

    ​ Выполните одно из​​ столбца выделенного фрагмента.​​Щелкните​ переведена автоматически, поэтому​Несколько несмежных листов​

    ​ ячеек и их​ находится в диапазоне​​ курсором с зажатой​​ ячейке столбца. Затем,​

    Заменить

    ​. Но у него​ разрешить описанную выше​ таблиц он тоже​НО. ​

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

    ​Щелкните ярлычок первого листа,​ различных групп с​​ неразрывных данных, например,​​ кнопкой мышки.​

  • ​ не отпуская кнопку​ имеются определенные недостатки,​ проблему. Конечно, он​ применим, но пользоваться​Как написать формулу,​
  • ​ выбрав первую ячейку​​ верхнюю), а затем,​​(Константы).​

    ​Replace​Выберите вариант​ для сравнения для​Примечания​

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

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

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

    ​ если не видно​​ строки или столбца​​ добравшись до последней​Excel выделит все ячейки​(Заменить).​все​ каждого дополнительного столбца​Ячейки с примечаниями.​ грамматические ошибки. Для​ нажатой клавишу CTRL,​ мышки, а также​

    1. ​ первоначально будет выделена​
    2. ​ проще зажать кнопку​​ Можно производить действия​​ с помощью варианта​​ выделения, как это​​ очень удобно.​ таблицу !​​ и нажав затем​​ ячейки диапазона с​

    ​ с формулами:​​Появится одноимённое диалоговое окно​, чтобы найти все​ находится в той​Константы​ нас важно, чтобы​ щелкните вкладки других​​ используя комбинацию этих​​ только эта область.​

    ​Shift​​ и в обратном​​ с использованием кнопки​​ можно сделать при​​Урок:​

    ​Aleksei gerro​​ сочетание клавиш​ помощью полосы прокрутки​Примечание:​ с активной вкладкой​ ячейки, для которых​ же строке в​Ячейки, содержащие константы.​ эта статья была​ листов, которые вы​​ двух устройств. Каждый​​ Лишь после повторного​

    ​и последовательно кликнуть​ порядке.​

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

    ​ по первой и​Кроме того, для выделения​
    ​. В целом, за​
    ​Ctrl+A​

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

    ​-преобразуйте в таблицу​(СТРЕЛКА ВПРАВО или​SHIFT​ одну ячейку, прежде​(Заменить).​

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

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

    ​ последней ячейке строки.​ столбцов в таблицах​ редким исключением, все​, но в то​При использовании больших таблиц​ (в word 2007-2013​ СТРЕЛКА ВЛЕВО позволяет​и щелкнуть последнюю​ чем нажать​Введите текст, который хотите​​этих же​​Ячейки, на которые ссылается​Примечание:​ секунд и сообщить,​

    ​Щелкните правой кнопкой мыши​ для себя стиль​Теперь выясним, как выделить​Также строки в таблицах​ можно воспользоваться следующим​ эти способы можно​ же время для​ намного более удобным​

    ​ вставка-таблица-ок)​ выделить всю строку,​​ ячейку диапазона (правую​​Find​ найти (например, «Veneno»)​

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

    ​, чтобы найти ячейки,​ формула в активной​ Флажки под параметром​ помогла ли она​ ярлычок листа и​ выделения в конкретной​ отдельные диапазоны ячеек​ можно отметить подобным​ алгоритмом. Выделяем первую​ использовать в любой​ больших таблиц является​ способом является применение​-вверху таблицы появятся​ СТРЕЛКА ВВЕРХ или​ нижнюю).​​(Найти),​​ и текст, на​ к которым применены​ ячейке. В разделе​
    ​формулы​ вам, с помощью​ выберите в контекстном​ ситуации, ведь выделение​ на листе. Для​​ образом, что и​​ ячейку колонки, отпускаем​ ситуации.​ более предпочтительным и​ комбинации горячих клавиш​ списки, отсортируйте нужный​ СТРЕЛКА ВНИЗ позволяет​В случае выделения​Replace​​ который его нужно​​ те же правила​зависимые ячейки​определяют тип формул.​

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

    ​ кнопок внизу страницы.​ меню (контекстное меню)​ одной или нескольких​ того чтобы это​ столбцы. Кликаем по​​ мышку и жмем​​Автор: Максим Тютюшев​ удобным, чем простое​​Ctrl+A​​ столбец, скопируйте​ выделить весь столбец).​​ ячеек, содержащих значения,​​(Заменить) или​ заменить (например, «Diablo»).​ проверки данных, что​​выполните одно из​​Пустые​ Для удобства также​

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

    ​ команду​ ячеек удобнее выполнять​ сделать достаточно обвести​​ первому элементу в​​ на комбинацию клавиш​Для того, чтобы производить​ выделение, описанное в​. В большинстве программ​-или отфильтруйте по​ Если строка или​​ можно щелкнуть первую​​Go To Special​Кликните по​ и к выделенной​ указанных ниже действий.​Пустые ячейки.​ приводим ссылку на​​Выделить все листы​​ одним способом, а​ курсором с зажатой​ столбце, а затем​Ctrl + Shift +​ различные действия с​ первом варианте.​

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

    ​ это сочетание приводит​ содержимому​ столбец содержат данные,​ ячейку диапазона, а​(Выделение группы ячеек),​Find Next​ ячейке.​​только непосредственно​​Текущую область​ оригинал (на английском​.​ выделение целой строки​ левой кнопкой мыши​ набираем сочетание клавиш​ стрелка вниз​ содержимым ячеек Excel,​​Зажимаем клавишу​​ к выделению всего​Если возникнут сложности,​CTRL+SHIFT+КЛАВИША СО СТРЕЛКОЙ​ затем, удерживая клавишу​​ Excel будет просматривать​​(Найти далее).​Найти​, чтобы найти только​

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

    ​текущая область, например весь​ языке) .​Совет:​ или всего листа​​ определенную область на​​Ctrl + Shift +​. При этом выделится​ их нужно сначала​Shift​ документа. При определенных​ можете сбросить файл​выделяет текущую область данных​SHIFT​ весь лист. Для​Excel выделит первое вхождение.​Заменить​ те ячейки, на​ список.​Чтобы быстро найти и​ После выбора нескольких листах​ – другим.​

    Как в экселе выделить все строки с нужным словом?

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

    ​ Ещё не было​​Выделение группы ячеек​ которые формулы ссылаются​Текущий массив​

    ​ выделить все ячейки,​​[Группа]​Автор: Максим Тютюшев​Диапазон можно выделить, зажав​
    ​. Строка выделится до​ последнего элемента, в​ целей в программе​ курсор в верхнюю​

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

    ​отображается в строке​​Примечание:​
    ​ кнопку​ конца таблицы. Но​ котором содержаться данные.​
    ​ имеется несколько инструментов.​ левую ячейку и​ Но только если​
    ​ готовый список​ клавиш​
    ​ Будет выделен диапазон​ нужный диапазон.​ замены.​Find and Replace​на всех уровнях​

    Источник

  • Вопрос:

    Я нашел аналогичное решение этого вопроса в С#… См. Ссылку ниже

    Как выделить все ячейки на листе в Excel.Range объект С#?

    У кого-нибудь есть фрагмент, чтобы сделать это в VBA? Я не очень знаком с VBA, так что это было бы полезно. Вот что у меня так далеко…

    Я обычно выбираю данные, используя “Ctrl + стрелка над стрелкой, стрелка вниз”, чтобы выделить весь диапазон ячеек. Когда я запускаю это в макросе, он кодирует A1: Q398247930, например. Мне нужно это просто

    .SetRange Range("A1:whenever I run out of rows and columns")
    

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

    Sub sort()
    'sort Macro
    Range("B2").Select
    ActiveWorkbook.Worksheets("Master").sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Master").sort.SortFields.Add Key:=Range("B2"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Master").sort
    .SetRange Range("A1:whenever I run out of rows and columns")
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    End Sub
    

    редактировать: есть другие части, где я мог бы использовать тот же код, но диапазон, скажем, “C3: конец строк и столбцов”. В VBA есть способ получить местоположение последней ячейки в документе?

    Спасибо!

    Лучший ответ:

    Я считаю, что вы хотите найти текущую область A1 и окружающих клеток – не обязательно все ячейки на листе.
    Если так – просто используйте…
    Range ( “A1” ). CurrentRegion

    Ответ №1

    Вы можете просто использовать cells.select, чтобы выбрать ячейки all на листе. Вы можете получить действительный адрес, указав Range(Cells.Address).

    Если вы хотите найти последний Used Range, где вы внесли некоторые изменения форматирования или ввели значение, вы можете вызвать ActiveSheet.UsedRange и выбрать его там. Надеюсь, что поможет

    Ответ №2

    вы можете использовать все ячейки как объект:

    Dim x as Range
    Set x = Worksheets("Sheet name").Cells
    

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

    Ответ №3

    у вас есть несколько вариантов:

    • Использование свойства UsedRange
    • найдите последнюю используемую строку и столбец
    • используйте мимику сдвига и сдвига вправо

    Я лично использую использованный диапазон и чаще всего использую метод последней строки и столбца.

    Вот как вы это сделаете, используя свойство UsedRange:

    Sheets("Sheet_Name").UsedRange.Select
    

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

    Альтернативой является поиск самой последней ячейки, используемой на листе

    Dim rngTemp As Range
    Set rngTemp = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
    If Not rngTemp Is Nothing Then
    Range(Cells(1, 1), rngTemp).Select
    End If
    

    Что делает этот код:

    • Найти последнюю ячейку, содержащую любое значение
    • выберите ячейку (1,1) до последней ячейки

    Ответ №4

    Я бы рекомендовал записывать макрос, например, найденный в этом сообщении;

    макрос Excel VBA для фильтрации записей

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

    R = 1
    Do While Not IsEmpty(Sheets("Sheet1").Cells(R, 1))
    R = R + 1
    Loop
    Range("A5:A" & R).Select 'This will give you a specific selection
    

    Вы остаетесь с R = до номера строки после окончания ваших данных. Это также можно использовать для столбца, а затем вы можете использовать что-то вроде Cells (C, R). Выберите, если вы сделали C представление столбца.

    Ответ №5

    Вот то, что я использовал, я знаю, что это может использовать некоторые усовершенствования, но я думаю, что это поможет другим…

    ''STYLING''
    
    Dim sheet As Range
    
    ' Find Number of rows used
    Dim Final As Variant
    Final = Range("A1").End(xlDown).Row
    
    ' Find Last Column
    Dim lCol As Long
    lCol = Cells(1, Columns.Count).End(xlToLeft).Column
    
    Set sheet = ActiveWorkbook.ActiveSheet.Range("A" & Final & "", Cells(1, lCol ))
    With sheet
    .Interior.ColorIndex = 1
    End With
    

    Ответ №6

    Возможно, это может сработать:

    Sh.Range( “A1”, Sh.Range( “A” и Rows.Count).End(xlUp))

    Ответ №7

    Обращаясь к самому первому вопросу, я изучаю то же самое.
    Результат, который я получаю, записывая макрос, начинается с выбора ячейки A76:

    Sub find_last_row()
    Range("A76").Select
    Range(Selection, Selection.End(xlDown)).Select
    End Sub
    

    Ответ №8

    Sub SelectAllCellsInSheet(SheetName As String)
    lastCol = Sheets(SheetName).Range("a1").End(xlToRight).Column
    Lastrow = Sheets(SheetName).Cells(1, 1).End(xlDown).Row
    Sheets(SheetName).Range("A1", Sheets(SheetName).Cells(Lastrow, lastCol)).Select
    End Sub
    

    Использовать с ActiveSheet:

    Call SelectAllCellsInSheet(ActiveSheet.Name)
    

    Ответ №9

    Другой способ выбора всех ячеек в диапазоне, если данные непрерывны, состоит в использовании Range("A1", Range("A1").End(xlDown).End(xlToRight)).Select.

    Ответ №10

    Я обнаружил, что метод “.UsedRange” на рабочем листе во многих случаях лучше для решения этой проблемы. Я боролся с проблемой усечения, которая является нормальным поведением метода .CurrentRegion. Использование [Worksheets (“Sheet1”). Range (“A1”). CurrentRegion] не дает желаемых результатов, когда рабочий лист состоит из одного столбца с пробелами в строках (и пробелы требуются). В этом случае “.CurrentRegion” будет обрезаться при первой записи. Я реализовал работу вокруг, но недавно нашел еще лучшую; см. код ниже, который позволяет скопировать весь набор на другой лист или идентифицировать фактический адрес (или только строки и столбцы):

    Sub mytest_GetAllUsedCells_in_Worksheet()
    Dim myRange
    
    Set myRange = Worksheets("Sheet1").UsedRange
    'Alternative code:  set myRange = activesheet.UsedRange
    
    'use msgbox or debug.print to show the address range and counts
    MsgBox myRange.Address
    MsgBox myRange.Columns.Count
    MsgBox myRange.Rows.Count
    
    'Copy the Range of data to another sheet
    'Note: contains all the cells with that are non-empty
    myRange.Copy (Worksheets("Sheet2").Range("A1"))
    'Note:  transfers all cells starting at "A1" location.
    '       You can transfer to another area of the 2nd sheet
    '       by using an alternate starting location like "C5".
    
    End Sub
    

    I found a similar solution to this question in c# How to Select all the cells in a worksheet in Excel.Range object of c#?

    What is the process to do this in VBA?

    I select data normally by using «ctrl+shift over arrow, down arrow» to select an entire range of cells. When I run this in a macro it codes out A1:Q398247930, for example. I need it to just be

    .SetRange Range("A1:whenever I run out of rows and columns")
    

    I could easily do it myself without a macro, but I’m trying to make the entire process a macro, and this is just a piece of it.

    Sub sort()
        'sort Macro
        Range("B2").Select
        ActiveWorkbook.Worksheets("Master").sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Master").sort.SortFields.Add Key:=Range("B2"), _
          SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Master").sort
            .SetRange Range("A1:whenever I run out of rows and columns")
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End Sub
    

    edit:
    There are other parts where I might want to use the same code but the range is say «C3:End of rows & columns». Is there a way in VBA to get the location of the last cell in the document?

    asked Jul 30, 2013 at 18:50

    C. Tewalt's user avatar

    C. TewaltC. Tewalt

    2,2612 gold badges29 silver badges47 bronze badges

    I believe you want to find the current region of A1 and surrounding cells — not necessarily all cells on the sheet.
    If so — simply use…
    Range(«A1»).CurrentRegion

    answered Jul 30, 2013 at 19:17

    ExcelExpert's user avatar

    ExcelExpertExcelExpert

    3522 silver badges4 bronze badges

    1

    You can simply use cells.select to select all cells in the worksheet. You can get a valid address by saying Range(Cells.Address).

    If you want to find the last Used Range where you have made some formatting change or entered a value into you can call ActiveSheet.UsedRange and select it from there. Hope that helps.

    June7's user avatar

    June7

    19.5k8 gold badges24 silver badges33 bronze badges

    answered Jul 30, 2013 at 19:11

    chancea's user avatar

    chanceachancea

    5,8083 gold badges28 silver badges39 bronze badges

    2

    you can use all cells as a object like this :

    Dim x as Range
    Set x = Worksheets("Sheet name").Cells
    

    X is now a range object that contains the entire worksheet

    answered Apr 15, 2015 at 11:47

    user4791681's user avatar

    you have a few options here:

    1. Using the UsedRange property
    2. find the last row and column used
    3. use a mimic of shift down and shift right

    I personally use the Used Range and find last row and column method most of the time.

    Here’s how you would do it using the UsedRange property:

    Sheets("Sheet_Name").UsedRange.Select
    

    This statement will select all used ranges in the worksheet, note that sometimes this doesn’t work very well when you delete columns and rows.

    The alternative is to find the very last cell used in the worksheet

    Dim rngTemp As Range
    Set rngTemp = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
    If Not rngTemp Is Nothing Then
        Range(Cells(1, 1), rngTemp).Select
    End If
    

    What this code is doing:

    1. Find the last cell containing any value
    2. select cell(1,1) all the way to the last cell

    Faisal Mehmood's user avatar

    answered Jul 30, 2013 at 20:32

    Derek Cheng's user avatar

    Derek ChengDerek Cheng

    5353 silver badges8 bronze badges

    3

    Another way to select all cells within a range, as long as the data is contiguous, is to use Range("A1", Range("A1").End(xlDown).End(xlToRight)).Select.

    answered Mar 29, 2019 at 19:38

    Bob the Builder's user avatar

    I would recommend recording a macro, like found in this post;

    Excel VBA macro to filter records

    But if you are looking to find the end of your data and not the end of the workbook necessary, if there are not empty cells between the beginning and end of your data, I often use something like this;

    R = 1
    Do While Not IsEmpty(Sheets("Sheet1").Cells(R, 1))
        R = R + 1
    Loop
    Range("A5:A" & R).Select 'This will give you a specific selection
    

    You are left with R = to the number of the row after your data ends. This could be used for the column as well, and then you could use something like Cells(C , R).Select, if you made C the column representation.

    Community's user avatar

    answered Jul 30, 2013 at 19:25

    MakeCents's user avatar

    MakeCentsMakeCents

    7321 gold badge5 silver badges15 bronze badges

    2

    Sub SelectAllCellsInSheet(SheetName As String)
        lastCol = Sheets(SheetName).Range("a1").End(xlToRight).Column
        Lastrow = Sheets(SheetName).Cells(1, 1).End(xlDown).Row
        Sheets(SheetName).Range("A1", Sheets(SheetName).Cells(Lastrow, lastCol)).Select
    End Sub
    

    To use with ActiveSheet:

    Call SelectAllCellsInSheet(ActiveSheet.Name)
    

    answered Mar 14, 2017 at 20:57

    Yehia Amer's user avatar

    Yehia AmerYehia Amer

    5985 silver badges11 bronze badges

    Here is what I used, I know it could use some perfecting, but I think it will help others…

    ''STYLING''
    
    Dim sheet As Range
    
    ' Find Number of rows used
    Dim Final As Variant
        Final = Range("A1").End(xlDown).Row
    
    ' Find Last Column
    Dim lCol As Long
        lCol = Cells(1, Columns.Count).End(xlToLeft).Column
    
    Set sheet = ActiveWorkbook.ActiveSheet.Range("A" & Final & "", Cells(1, lCol ))
    With sheet
        .Interior.ColorIndex = 1
    End With
    

    answered Mar 16, 2019 at 4:29

    FreeSoftwareServers's user avatar

    I have found that the Worksheet «.UsedRange» method is superior in many instances to solve this problem.
    I struggled with a truncation issue that is a normal behaviour of the «.CurrentRegion» method. Using [ Worksheets(«Sheet1»).Range(«A1»).CurrentRegion ] does not yield the results I desired when the worksheet consists of one column with blanks in the rows (and the blanks are wanted). In this case, the «.CurrentRegion» will truncate at the first record. I implemented a work around but recently found an even better one; see code below that allows copying the whole set to another sheet or to identify the actual address (or just rows and columns):

    Sub mytest_GetAllUsedCells_in_Worksheet()
        Dim myRange
    
        Set myRange = Worksheets("Sheet1").UsedRange
        'Alternative code:  set myRange = activesheet.UsedRange
    
       'use msgbox or debug.print to show the address range and counts
       MsgBox myRange.Address      
       MsgBox myRange.Columns.Count
       MsgBox myRange.Rows.Count
    
      'Copy the Range of data to another sheet
      'Note: contains all the cells with that are non-empty
       myRange.Copy (Worksheets("Sheet2").Range("A1"))
       'Note:  transfers all cells starting at "A1" location.  
       '       You can transfer to another area of the 2nd sheet
       '       by using an alternate starting location like "C5".
    
    End Sub
    

    answered May 2, 2019 at 19:38

    Lifygen's user avatar

    Maybe this might work:

    Sh.Range(«A1», Sh.Range(«A» & Rows.Count).End(xlUp))

    answered Oct 31, 2014 at 18:38

    Sarah's user avatar

    Refering to the very first question, I am looking into the same.
    The result I get, recording a macro, is, starting by selecting cell A76:

    Sub find_last_row()
        Range("A76").Select
        Range(Selection, Selection.End(xlDown)).Select
    End Sub
    

    answered Aug 7, 2015 at 12:40

    Pavlin Todorov's user avatar

    Apkaxa

    0 / 0 / 0

    Регистрация: 15.03.2011

    Сообщений: 23

    1

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

    24.05.2011, 12:17. Показов 11192. Ответов 11

    Метки нет (Все метки)


    Студворк — интернет-сервис помощи студентам

    Понимаю, что ламерский вопрос, но тем не менее:

    Нужные ячейки я выделяю командой

    Visual Basic
    1
    
    Range(cells(1,1),cells(1,j)

    Подскажите, плиз, подобный код, но только для листов.



    0



    Apkaxa

    0 / 0 / 0

    Регистрация: 15.03.2011

    Сообщений: 23

    24.05.2011, 15:38

     [ТС]

    2

    Извиняюсь. Не закончил код.

    Visual Basic
    1
    
    Range(Cells(1,1),Cells(1,j).Select

    Хочу как-нибудь также выделить диапазон листов.



    0



    Терминатор

    24.05.2011, 15:45

    3

    Visual Basic
    1
    2
    3
    
    Sub Выделить()
        Sheets(Array('Лист1', 'Лист2', 'Лист3')).Select
    End Sub

    Лист1, Лист2, и т.д. это имена Листов.

    Терминатор

    24.05.2011, 16:01

    4

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

    Visual Basic
    1
    2
    3
    
            Dim vars As Variant
            For Each vars In Workbooks.Item(1).Sheets
            MsgBox (vars.Name)

    Item(1). Это я так написал, если Книг открыто много можно указать
    имя нужной. Item(‘Пример.xls’)

    0 / 0 / 0

    Регистрация: 15.03.2011

    Сообщений: 23

    25.05.2011, 07:24

     [ТС]

    5

    to Terminator

    Sheets(Array(‘Лист1’, ‘Лист2’, ‘Лист3’)).Select
    не подходит, потому что их количество и названия могут меняться.



    0



    22 / 5 / 1

    Регистрация: 05.09.2010

    Сообщений: 370

    26.05.2011, 06:57

    6

    Apkaxa
    Рисуйте форму с ListBox, выводите в него имена всех листов книги. После чего можно пометить необходимые листы (в ListBox есть возможность выделять группу) и передать их, ну например в массив…



    0



    0 / 0 / 0

    Регистрация: 15.03.2011

    Сообщений: 23

    26.05.2011, 08:18

     [ТС]

    7

    Блин.
    Я знаю индекс первого листа — Sheets(1),
    знаю индекс последнего i = Sheets.Count

    Неужели в VBA нет простого способа выделить все листы книги: с первого по последний?

    Что-нибудь типа Sheets Array(1 to i).Select



    0



    1 / 1 / 0

    Регистрация: 19.05.2011

    Сообщений: 80

    26.05.2011, 13:21

    8

    Чтобы выделить все листы книги, надо выполнить инструкцию
    Worksheets.Select



    0



    0 / 0 / 0

    Регистрация: 15.03.2011

    Сообщений: 23

    27.05.2011, 05:35

     [ТС]

    9

    Спасибо, gleb.
    А если не все нужно выделить а какой-то диапазон?



    0



    Терминатор

    27.05.2011, 11:13

    10

    Apkaxa, ну ты даёшь! Диапазон с Листами.
    Очень часто бывает что то что необходимо для выполнения, решается с другой стороны. Был как-то вопрос от одного юзера, которому надо было разместить 20 кнопок на одной форме и работать с ними. Конечно народ подсказал как это сделать, но чем дальше в лес тем больше дров, у него по ходу стало возникать всё больше и больше вопросов, а сама задача становилась всё более трудно выполнимой. В конце концов когда он описал полностью ту свою задачу, ему предложили всего 4-5 конопок (точно не помню) и код к ним. Он был счастлив.
    У меня тоже что-то подобное было, поверь, я не с целью как-то пошутить, а с целью выроботки нового взгяда на твоё решение. Мошешь выложить проблему, наверняка кто-то из более опытных подскажет что-то более лучшее.

    0 / 0 / 0

    Регистрация: 15.03.2011

    Сообщений: 23

    28.05.2011, 12:51

     [ТС]

    11

    to terminator

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



    0



    Comanche

    28.05.2011, 13:44

    12

    Ничего не группируя, даёшь юзеру ввести данные на первом листе. Потом пишешь ‘Sheets.FillAcrossSheets Worksheets(1).Range(‘A1:C5′)’.

    Если всё же надо скрыть группу листов, то делаешь так:

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    
    Sub HideAllExceptFirst
        Dim arr As Variant, i As Long
        ReDim arr(1 To Worksheets.Count - 1)
        For i = 2 To Worksheets.Count
            arr(i - 1) = Worksheets(i).Name
        Next
        Sheets(arr).Visible = False
    End Sub

    Terminator прав: для программного формирования ГРУППЫ листов — не обойтись без МАССИВОВ (и если конструкция Array не подходит в силу ‘изменчивости’ начинки массива, то приходится использовать обычные массивы и в итоге мы сразу попадаем на использование перебора в цикле).

    Понравилась статья? Поделить с друзьями:
  • Как выделить весь лист в excel горячие клавиши
  • Как выглядит word 2021
  • Как выделить весь лист в excel в макросе
  • Как выглядит word 2019
  • Как выделить весь лист excel vba