Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
Чтобы быстро найти и выбрать определенные ячейки или диапазоны, введите их имена или ссылки на ячейки в поле Имя слева от панели формул:
Вы также можете выбрать именуемую или неименоваемую ячейку или диапазоны с помощью команды Перейти(F5 или CTRL+G).
-
Чтобы выбрать именоваемую ячейку или диапазон, щелкните стрелку рядом с полем Имя, чтобы отобразить список именуемых ячеек или диапазонов, а затем выберите нужное имя.
-
Чтобы выделить несколько именованных диапазонов или ссылок на ячейки, щелкните стрелку рядом с полем Имя и выберите имя первого диапазона или первой ссылки на ячейку из тех, которые нужно выделить. Затем, удерживая нажатой кнопку CTRL, щелкните имена других ячеек или диапазонов в поле Имя.
-
Чтобы выбрать неименованный диапазон или ссылку на ячейку, введите ссылку на ячейку или диапазон ячеек, которые нужно выбрать, и нажмите ввод . Например, введите B3, чтобы выбрать эту ячейку, или B1:B3, чтобы выбрать диапазон ячеек.
Примечание: В поле Имя нельзя удалить или изменить имена, определенные для ячеек или диапазонов. Имена можно удалить или изменить только в диспетчере имен (вкладкаФормулы, группа Определенные имена). Дополнительные сведения см. в статье Определение и использование имен в формулах.
-
Нажмите F5 или CTRL+G, чтобы запустить диалоговое окно Перейти.
-
В списке Перейти щелкните имя ячейки или диапазона, которые вы хотите выбрать, или введите ссылку на ячейку в поле Ссылка, а затем нажмите кнопку ОК.
Например, в поле Ссылка введите B3, чтобы выбрать эту ячейку, или B1:B3, чтобы выбрать диапазон ячеек. Чтобы выбрать несколько ячеек или диапазонов, введите их в поле Ссылка, разделив их запятой. Если вы ссылались на пролитый диапазон, созданный с помощью формулы динамического массива, вы можете добавить оператор . Например, если у вас есть массив в ячейках A1:A4, вы можете выбрать его, введите A1# в поле Ссылка, а затем нажмите кнопку ОК.
Совет: Чтобы быстро найти и выбрать все ячейки, содержащие данные определенного типа (например, формулы) или только ячейки, которые соответствуют определенным условиям (например, только видимые ячейки или последняя ячейка на сайте с данными или форматированием), во всплываемом окне Перейти выберите нужный параметр.
-
Перейдите в > определенные имена > Имя Диспетчера имен.
-
Выберите имя, которое вы хотите изменить или удалить.
-
Выберите Изменить или Удалить.
Удерживая нажатой клавишу CTRL, щелкните левой кнопкой мыши каждую ячейку или диапазон, которые вы хотите включить. Если вы выберете ее, можно щелкнуть непреднамеренную ячейку, чтобы от нее не выбрать.
При выборе данных для карт Bing убедитесь, что это данные о расположении — названия городов, названия стран и т. д. В противном случае Bing не имеет ничего для карты.
Чтобы выбрать ячейки, можно ввести ссылку в диалоговом окне Выбор данных или щелкнуть стрелку свернуть в диалоговом окне и выбрать ячейки, щелкнув их. Дополнительные параметры для выбора нужных ячеек см. в предыдущих разделах.
При выборе данных для пересчета в евро убедитесь, что это данные в валюте.
Чтобы выбрать ячейки, можно ввести ссылку в поле Исходные данные или щелкнуть стрелку свернуть рядом с ним, а затем выбрать ячейки, щелкнув их. Дополнительные параметры для выбора нужных ячеек см. в предыдущих разделах.
Чтобы выбрать смежные ячейки в Excel в Интернете, щелкните ячейку и перетаскиванием, чтобы расширить диапазон. Тем не менее, вы не можете выбрать определенные ячейки или диапазон, если они не являются рядом друг с другом. Если у вас есть настольное приложение Excel, вы можете открыть книгу в Excel и выбрать несмежные ячейки, щелкнув их, удерживая нажатой клавишу CTRL. Дополнительные сведения см. в теме Выбор определенных ячеек или диапазонов в Excel.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Выделение содержимого ячеек в Excel
Нужна дополнительная помощь?
Microsoft Excel
трюки • приёмы • решения
Как правильно искать в таблицах Excel
Довольно трудно обнаружить нужную информацию на рабочем листе с большим количеством данных. Однако диалоговое окно Найти и заменить позволяет значительно упростить процесс поиска информации. Кроме того, оно обладает некоторыми полезными функциями, о чем многие пользователи не догадываются.
Выполните команду Главная ► Редактирование ► Найти и выделить ► Найти (или нажмите Ctrl+F), чтобы открыть диалоговое окно Найти и заменить. Если вам нужно заменить данные, то выберите команду Главная ► Редактирование ► Найти и выделить ► Заменить (или нажмите Ctrl+H). От того, какую именно команду вы выполните, зависит, на какой из двух вкладок откроется диалоговое окно.
Если в открывшемся диалоговом окне Найти и заменить нажать кнопку Параметры, то отобразятся дополнительные параметры поиска информации (рис. 21.1).
Рис. 21.1. Вкладка Найти диалогового окна Найти и заменить
Во многих случаях лучше в поиске задавать не точный, а приблизительный текст, например настенные ключницы. Например, чтобы найти данные по клиенту Иван Смирнов, вы, конечно, можете ввести в поисковое поле точный текст. Однако вполне вероятно, что вы ничего не найдете, так как вы могли ввести имя клиента по-другому, например ИванСмирнов или И. Смирнов, или даже допустили ошибку в фамилии. При поиске такого имени лучше всего использовать подстановочные знаки.
Введите ив*смир* в поле Найти, а затем нажмите кнопку Найти все. Использование подстановочных знаков не только позволяет уменьшить количество вводимых слов, но и гарантирует, что вы найдете данные по клиенту, если они имеются на этом рабочем листе. Конечно, в результатах поиска могут содержаться не отвечающие цели вашего поиска записи, но это лучше, чем ничего.
При поиске с помощью диалогового окна Найти и заменить можно использовать два подстановочных знака:
- ? — соответствует любому символу;
- * — соответствует любому количеству символов.
Кроме того, данные подстановочные символы можно также применять при поиске числовых значений. Например, если в строке поиска задать 3*, то в результате отобразятся все ячейки, которые содержат значение, начинающееся с 3, а если вы введете 1?9, то получите все трехзначные записи, которые начинаются с 1 и заканчиваются 9.
Для поиска вопросительного знака или звездочки поставьте перед ними символ тильды (
).
Например, следующая строка поиска находит текст *NONE*: -*N0NE
*
Чтобы найти символ тильды, поставьте в строке поиска две тильды.
Если вам кажется, что поиск работает неправильно, проверьте три следующие настройки (которые иногда изменяются сами по себе).
- Флажок Учитывать регистр — установите его, чтобы регистр искомого текста совпадал с регистром заданного текста. Например, если вы зададите в поиске слово иван и установите указанный флажок, то слово Иван в результатах поиска не отобразится.
- Флажок Ячейка целиком — установите его, чтобы найти ячейку, которая содержит в точности тот текст, который указан в строке поиска. Например, набрав в строке поиска слово Excel и установив указанный флажок, вы не найдете ячейку, содержащую словосочетание Microsoft Excel.
- Раскрывающийся список Область поиска — список содержит три пункта: значения, формулы и примечания. Например, если в строке поиска вы зададите число 900 и в раскрывающемся списке Область поиска выберете пункт значения, то в результатах поиска вы не увидите ячейку, содержащую значение 900, если оно получено при использовании формулы.
Помните, что поиск осуществляется в пределах выбранного диапазона ячеек. Если нужно выполнить поиск по всему листу, то, прежде чем начать искать, выделите только одну ячейку.
Кроме того, учтите, что с помощью окна Найти и заменить нельзя найти отформатированные числовые значения. Например, если в строку поиска вы введете $5*, то значение, к которому применено денежное форматирование и которое выглядит как $54.00, не будет найдено.
Работа с датами может оказаться непростой, поскольку Excel поддерживает очень много форматов дат. Если вы ищете дату, к которой применено форматирование по умолчанию, Excel находит даты, даже если они отформатированы различными способами. Например, если ваша система использует формат даты m/d/y, строка поиска 10/*/2010 находит все даты в октябре 2010 года, независимо от того, как они отформатированы.
Используйте пустое поле Заменить на, чтобы быстро удалить какую-нибудь информацию на рабочем листе. Например, введите — * в поле Найти и оставьте поле Заменить на пустым. Затем нажмите кнопку Заменить все, чтобы Excel нашел и убрал все звездочки на листе.
Поиск значений в списке данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.
В этой статье
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.
Примеры использования функции ВПР
Дополнительные сведения можно найти в разделе функция ВПР.
Примеры ИНДЕКСов и СОВПАДЕНИй
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.
Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.
Поиск значений в списке по вертикали по приблизительному совпадению
Для этого используйте функцию ВПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.
Дополнительные сведения можно найти в разделе функция ВПР.
Поиск значений по вертикали в списке неизвестного размера с точным соответствием
Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.
Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.
C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).
Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.
1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.
Поиск значений в списке по горизонтали по точному совпадению
Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.
Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения можно найти в разделе функции ГПР.
Поиск значений в списке по горизонтали с использованием приблизительного совпадения
Для выполнения этой задачи используется функция ГПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.
Дополнительные сведения можно найти в разделе функции ГПР.
Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )
Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).
В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.
Щелкните ячейку в диапазоне.
На вкладке формулы в группе решения нажмите кнопку Подстановка .
Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.
Загрузка программы-надстройки «Мастер подстановок»
Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.
Поиск в программе Microsoft Excel
В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.
Поисковая функция в Excel
Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.
Способ 1: простой поиск
Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.
- Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.
Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.
Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».
Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».
Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.
Способ 2: поиск по указанному интервалу ячеек
Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.
-
Выделяем область ячеек, в которой хотим произвести поиск.
Способ 3: Расширенный поиск
Как уже говорилось выше, при обычном поиске в результаты выдачи попадают абсолютно все ячейки, содержащие последовательный набор поисковых символов в любом виде не зависимо от регистра.
К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.
Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.
-
После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.
По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.
По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.
В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.
В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».
Ещё более точно поиск можно задать, нажав на кнопку «Формат».
При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.
Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».
После этого, появляется инструмент в виде пипетки. С помощью него можно выделить ту ячейку, формат которой вы собираетесь использовать.
После того, как формат поиска настроен, жмем на кнопку «OK».
Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.
Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Как искать в Excel: поиск слов и ячеек в таблицах
Программа Excel ориентирована на ускоренные расчеты. Зачастую документы здесь состоят из большого ко.
Программа Excel ориентирована на ускоренные расчеты. Зачастую документы здесь состоят из большого количества листов, на которых представлены длинные таблицы с числами, формулами или текстом. Для удобного нахождения нужных ячеек существует специальный автоматизированный поиск. Ознакомившись с особенностями его использования, можно сократить время работы в документах. О том, как искать в Экселе слова, фразы или ячейки, подробно написано ниже.
Поиск слов
Документы часто имеют много страниц, тогда встает вопрос о том, как в Еxcel найти слово. Сделать это иногда становится проблематично. Для упрощения этой задачи существует специальная функция поиска. Чтобы ею воспользоваться, необходимо выполнить следующий алгоритм действий:
- запустить программу Excel;
- проверить активность таблицы, щелкнув по любой из ячеек;
- нажать комбинацию клавиш «Ctrl + F»;
- в строке «Найти» появившегося окна ввести искомое слово;
- нажать «Найти».
В результате программа активирует поисковую функцию, а найденные слова в таблице или книге будут подсвечены.
Существует также способ нестрогого поиска, который подходит для ситуаций, когда искомое слово помнится частично. Он предусматривает использование символов-заменителей (джокерные символы). В Excel их всего два:
- «?» – подразумевает любой отдельно взятый символ;
- «*» – обозначает любое количество символов.
Примечательно, при поиске вопросительного знака или знака умножения дополнительно впереди ставится тильда («
»). При поиске тильды, соответственно – две тильды.
Алгоритм неточного поиска слова:
- запустить программу;
- активировать страницу щелчком мыши;
- зажать комбинацию клавиш «Ctrl + F»;
- в строке «Найти» появившегося окна ввести искомое слово, используя вместо букв, вызывающих сомнения, джокерные символы;
- проверить параметр «Ячейка целиком» (он не должен быть отмеченным);
- нажать «Найти все».
Все слова, подходящие под параметры поиска, подсветятся, поэтому их легко будет увидеть и проанализировать.
Поиск нескольких слов
Не зная, как найти слово в таблице в Еxcel, следует также воспользоваться функцией раздела «Редактирование» – «Найти и выделить». Далее нужно отталкиваться от искомой фразы:
- если фраза точная, введите ее и нажмите клавишу «Найти все»;
- если фраза разбита другими ключами, нужно при написании ее в строке поиска дополнительно проставить между всеми словами «*».
В первом случае поиск выдаст все результаты с точной поисковой фразой, игнорируя другие склонения или разбавленные ее варианты. Во втором случае отыщутся все значения с введенными надписями, даже если между ними присутствуют другие символы.
Поиск ячеек
Ячейки могут содержать в себе формулы или значения, быть объеденными или скрытыми. Эти характеристики изменяют ход поиска интересующих нас ячеек.
Для поиска ячеек с формулами выполняются следующие действия.
- В открытом документе выделить ячейку или диапазон ячеек (в первом случае поиск идет по всему листу, во втором – в выделенных ячейках).
- Во вкладке «Главная» выбрать функцию «Найти и выделить».
- Обозначить команду «Перейти».
- Выделить клавишу «Выделить».
- Выбрать «Формулы».
- Обратить внимание на список пунктов под «Формулами» (возможно, понадобится снятие флажков с некоторых параметров).
- Нажать клавишу «Ок».
Для поиска объединенных ячеек потребуется выполнение следующих манипуляций.
- Перейти во вкладку «Главная».
- Выбрать функцию «Найти и выделить».
- Нажать на команду «Найти».
- Перейти в «Параметры» и выбрать «Формат».
- Здесь выделить функцию «Выравнивание», поставить отметку «Объединить ячейки».
- Нажать на «Ок».
- Нажать на кнопку «Найти все» и проанализировать список ячеек, которые объединены на соответствующем листе.
При нажимании кнопкой мыши на элемент в списке происходит выделение объединенной ячейки на листе. Дополнительно доступна функция «Отменить объединение ячеек».
Выполнение представленных выше действий приводит к нахождению всех объединенных ячеек на листе и при необходимости отмене данного свойства. Для поиска скрытых ячеек проводятся следующие действия.
- Выбрать лист, требующий анализа на присутствие скрытых ячеек и их нахождения.
- Нажать клавиши «F5_гт_ Special».
- Нажать сочетание клавиш «CTRL + G_гт_ Special».
Можно воспользоваться еще одним способом для поиска скрытых ячеек:
- Открыть функцию «Редактирование» во вкладке «Главная».
- Нажать на «Найти».
- Выбрать команду «Перейти к разделу». Выделить «Специальные».
- Попав в группу «Выбор», поставить галочку на «Только видимые ячейки».
- Нажать кнопку «Ок».
В результате проделанных действий видимые ячейку выделятся, при этом границы столбцов и строк, которые граничат со скрытыми ячейками или столбцами, предстанут с белыми границами.
Если интересующая ячейка обозначена условным форматом, ее несложно найти и применить для копирования, удаления или редактирования непосредственно условного формата. Если речь идет о ячейке с определенным условным форматом, тогда на помощь придет функция «Выделить группу ячеек».
Чтобы найти ячейки, для которых применено условное форматирование:
- нажать на ячейку, не предусматривающую условное форматирование;
- выбрать функцию «Редактирование» во вкладке «Главная»;
- нажать на кнопку «Найти и выделить»;
- выделить категорию «Условное форматирование».
Чтобы найти ячейки, для которых применено одинаковое условное форматирование:
- выбрать ячейку, предусматривающую условное форматирование, требующую поиска;
- выбрать группу «Редактирование» во вкладке «Главная»;
- нажать на кнопку «Найти и выделить»;
- выбрать категорию «Выделить группу ячеек»;
- установить свойство «Условные форматы»;
- напоследок нужно зайти в группу «Проверка данных» и установить аналогичный пункт.
Поиск через фильтр
Чтобы узнать, как в Еxcel найти слово при использовании фильтра, потребуется изучить следующий алгоритм действий:
- выделить заполненную ячейку;
- во вкладке «Главная» выбрать функцию «Сортировка»;
- нажать на кнопку «Фильтр»;
- открыть выпадающее меню;
- ввести искомый запрос;
- нажать кнопку «Ок».
В результате в столбце выделятся только ячейки с искомым значением. Для сбрасывания результатов поиска в выпадающем списке необходимо нажать на «Выделить все». Для отключения фильтра потребуется еще раз нажать на его значок в функции «Сортировка». Примечательно, данный способ не даст результатов, если неизвестен ряд с искомым значением.
Поиск слов в Excel
В Microsoft Excel часто работают с большими объёмами информации. В нём создаются огромные таблицы на тысячи строк, столбцов и позиций. Отыскать какие-то конкретные данные в таком массиве бывает трудно. А иногда — вообще невозможно. Эту задачу можно упростить. Разберитесь, как в Экселе найти нужное слово. Так вам легче будет ориентироваться в документе. И вы сможете быстро перейти к искомой информации.
В редакторе таблиц существует несколько способов поиска
Поиск ячеек
Чтобы отобразились адреса всех ячеек, в которых есть то, что вы ищите, сделайте следующее:
- Если у вас Office 2010, перейдите в Меню — Правка — Найти.
- Откроется окно с полем для ввода. Напишите в нём фразу для поиска.
- В Excel 2007 эта кнопка есть в меню «Главная» на панели «Редактирование». Она находится справа.
- Аналогичного результата во всех версиях можно добиться, если нажать клавиши Ctrl+F.
- В поле напечатайте слово, фразу или цифры, которые надо отыскать.
- Нажмите «Найти всё», чтобы запустить поиск по целому документу. Если кликните «Далее», программа будет по одной выделять клетки, которые находятся ниже курсора-ячейки Excel.
- Подождите, пока процесс закончится. Чем больше документ, тем дольше система будет искать.
- Появится список с результатами: именами и адресами клеток, в которых есть совпадения с заданной фразой, и текстом, который в них написан.
- При клике на каждую строчку будет выделяться соответствующая ячейка.
- Для удобства можете «растянуть» окно. Так в нём будет видно больше строчек.
- Чтобы отсортировать данные, кликайте на названия столбцов над результатами поиска. Если нажмёте на «Лист», строчки выстроятся по алфавиту в зависимости от названия листа, если выберите «Значения» — встанут по значению.
- Эти столбцы также «растягиваются».
Параметры поиска
Можете задать свои условия. Например, запустить поиск по нескольким знакам. Вот как в Экселе найти слово, которое вы не помните целиком:
- Введите только часть надписи. Можно хоть одну букву — будут выделены все места, в которых она есть.
- Используйте символы * (звёздочка) и ? (вопросительный знак). Они замещают пропущенные знаки.
- Вопрос обозначает одну отсутствующую позицию. Если вы напишите, к примеру, «П. », отобразятся ячейки, в которых есть слово из четырёх символов, начинающееся на «П»: «Плуг», «Поле», «Пара» и так далее.
- Звезда (*) замещает любое количество знаков. Чтобы отыскать все значения, в которых содержится корень «раст», начните поиск по ключу «*раст*».
Также вы можете зайти в настройки:
- В окне «Найти» нажмите «Параметры».
- В разделах «Просматривать» и «Область поиска», укажите, где и по каким критериям надо искать совпадения. Можно выбрать формулы, примечания или значения.
- Чтобы система различала строчные и прописные буквы, поставьте галочку в «Учитывать регистр».
- Если вы отметите пункт «Ячейка целиком», в результатах появятся клетки, в которых есть только заданная поисковая фраза и ничего больше.
Параметры формата ячеек
Чтобы отыскать значения с определённой заливкой или начертанием, используйте настройки. Вот как найти в Excel слово, если оно имеет отличный от остального текста вид:
- В окне поиска нажмите «Параметры» и кликните на кнопку «Формат». Откроется меню с несколькими вкладками.
- Можете указать определённый шрифт, вид рамки, цвет фона, формат данных. Система будет просматривать места, которые подходят к заданным критериям.
- Чтобы взять информацию из текущей клетки (выделенной в этот момент), нажмите «Использовать формат этой ячейки». Тогда программа отыщет все значения, у которых тот же размер и вид символов, тот же цвет, те же границы и тому подобное.
Поиск нескольких слов
В Excel можно отыскать клетки по целым фразам. Но если вы ввели ключ «Синий шар», система будет работать именно по этому запросу. В результатах не появятся значения с «Синий хрустальный шар» или «Синий блестящий шар».
Чтобы в Экселе найти не одно слово, а сразу несколько, сделайте следующее:
- Напишите их в строке поиска.
- Поставьте между ними звёздочки. Получится «*Текст* *Текст2* *Текст3*». Так отыщутся все значения, содержащие указанные надписи. Вне зависимости от того, есть ли между ними какие-то символы или нет.
- Этим способом можно задать ключ даже с отдельными буквами.
Вот как искать в Экселе, используя фильтр:
- Выделите какую-нибудь заполненную ячейку.
- Нажмите Главная — Сортировка — Фильтр.
- В верхней строке у клеток появятся стрелочки. Это выпадающее меню. Откройте его.
- В текстовом поле введите запрос и нажмите «OK».
- В столбце будут отображаться только ячейки, содержащие искомую фразу.
- Чтобы сбросить результаты, в выпадающем списке отметьте «Выделить всё».
- Чтобы отключить фильтр, повторно нажмите на него в сортировке.
Этот способ не подойдёт, если вы не знаете, в каком ряду нужное вам значение.
Чтобы найти в Excel какую-то фразу или число используйте встроенные возможности интерфейса. Можно выбрать дополнительные параметры поиска и включить фильтр.
Поиск в программе Microsoft Excel
Смотрите такжеЗдесь правильно отображаются координаты значению – Март; значениями). чтобы вызвать окно диапазон, а на быстрым поиском нужнойРедактированиеЧтобы выделить именованную ячейку найти. Чтобы прекратить процесс поиска,Для поиска текста можно в которых находятся«Область поиска» расширенный поиск Excel.Если у вас довольно«Найти далее»
В документах Microsoft Excel, первого дубликата по
Поисковая функция в Excel
Товар 4:В ячейку C2 вводим поиска значений на диапазон (область), ограниченный ячейки.» нажмите кнопку или диапазон, введитеНа вкладке нажмите клавишу ESC.
Способ 1: простой поиск
также использовать фильтр. поисковые слова вопределяется, среди какихПосле открытия окна масштабная таблица, томы перемещаемся к которые состоят из вертикали (с верхаНа первый взгляд все
- формулу для получения листе Excel. Или номерами (символами) строккитинНайти и выделить имя и нажмитеГлавнаяДля выполнения этой задачи Дополнительные сведения см. любом порядке, даже, конкретно элементов производится«Найти и заменить» в таком случае первой же ячейке, большого количества полей, в низ) – работает хорошо, но
- заголовка столбца таблицы же создать для и столбцов (пост: как варианти нажмите кнопку клавишу ВВОД.в группе используется функция в статье Фильтрация если их разделяют поиск. По умолчанию,любым вышеописанным способом, не всегда удобно где содержатся введенные часто требуется найти I7 для листа что, если таблица который содержит это таблицы правило условного № 6, ноbuchlotnik
- ПерейтиСовет:РедактированиеЕТЕКСТ данных. другие слова и это формулы, то
жмем на кнопку производить поиск по группы символов. Сама определенные данные, наименование и Август; Товар2 будет содержат 2 значение: форматирования. Но тогда не на ячейку,: а если обращение. Можно также нажать
Кроме того, можно щелкнутьщелкните стрелку рядом.Выполните следующие действия, чтобы символы. Тогда данные есть те данные,«Параметры» всему листу, ведь ячейка становится активной. строки, и т.д. для таблицы. Оставим одинаковых значения? ТогдаПосле ввода формулы для нельзя будет выполнить а на область). не разовое - сочетание клавиш CTRL стрелку рядом с с кнопкойДля возвращения результатов для
найти ячейки, содержащие слова нужно выделить которые при клике. в поисковой выдаче
Поиск и выдача результатов Очень неудобно, когда такой вариант для могут возникнуть проблемы подтверждения нажимаем комбинацию
- дальнейших вычислений сМожно без примеров копаем в сторону + G на полемНайти и выделить условия, которое можно определенный текст. с обеих сторон по ячейке отображаютсяВ окне появляется целый может оказаться огромное производится построчно. Сначала приходится просматривать огромное следующего завершающего примера. с ошибками! Рекомендуем горячих клавиш CTRL+SHIFT+Enter, полученными результатами. Поэтому в Экселе, толькоименованных диапазонов клавиатуре.Имя, а затем выберите указать с помощьюВыделите диапазон ячеек, среди знаком «*». Теперь в строке формул. ряд дополнительных инструментов количество результатов, которые
Способ 2: поиск по указанному интервалу ячеек
обрабатываются все ячейки количество строк, чтобыДанная таблица все еще также посмотреть альтернативное так как формула необходимо создать и «строчку». Для меняЮрий_НдВ списке, чтобы открыть список пункт функции которых требуется осуществить в поисковой выдаче
- Это может быть для управления поиском. в конкретном случае
- первой строки. Если найти нужное слово не совершенна. Ведь решение для поиска должна быть выполнена правильно применить соответствующую главное понять синтаксис:Перейти именованных ячеек илиВыделить группу ячеекЕсли поиск. будут отображены все слово, число или
Способ 3: Расширенный поиск
По умолчанию все не нужны. Существует данные отвечающие условию или выражение. Сэкономить при анализе нужно столбцов и строк в массиве. Если формулу. функции.
buchlotnikщелкните имя ячейки диапазонов, и выбрать..Чтобы выполнить поиск по ячейки, в которых ссылка на ячейку. эти инструменты находятся способ ограничить поисковое найдены не были, время и нервы точно знать все по значению. все сделано правильноСхема решения задания выглядит_Igor_61, , спасибо за или диапазона, который в нем нужноеВыберите параметрДля выполнения этой задачи всему листу, щелкните находятся данные слова При этом, программа, в состоянии, как пространство только определенным программа начинает искать поможет встроенный поиск ее значения. Если
Чтобы проконтролировать наличие дубликатов в строке формул примерно таким образом:: На ячейку: А1 подсказку. требуется выделить, либо
- имя.Условные форматы используются функции любую ячейку. в любом порядке. выполняя поиск, видит
- при обычном поиске, диапазоном ячеек. во второй строке, Microsoft Excel. Давайте введенное число в среди значений таблицы по краям появятсяв ячейку B1 мыНа область: А1:С20
Простите, но это введите ссылку наЧтобы выбрать две или.ЕслиНа вкладкеКак только настройки поиска только ссылку, а но при необходимостиВыделяем область ячеек, в и так далее, разберемся, как он ячейку B1 формула создадим формулу, которая фигурные скобки { будем вводить интересующиеМожет, все же не совсем то, ячейку в поле более ссылки наВыберите пункт,Главная установлены, следует нажать не результат. Об можно выполнить корректировку. которой хотим произвести пока не отыщет работает, и как не находит в сможет информировать нас }. нас данные; покажете пример с
что я хотелСсылка именованные ячейки илиэтих жеПоискв группе на кнопку этом эффекте веласьПо умолчанию, функции поиск. удовлетворительный результат.
им пользоваться. таблице, тогда возвращается о наличии дубликатовВ ячейку C2 формулав ячейке B2 будет объяснениями, чтобы понять, бы.. диапазоны, щелкните стрелкув группеиРедактирование«Найти всё» речь выше. Для
«Учитывать регистр»Набираем на клавиатуре комбинациюПоисковые символы не обязательноСкачать последнюю версию ошибка – #ЗНАЧ! и подсчитывать их вернула букву D отображается заголовок столбца, что конкретно нужноСуществует ли такаяНапример, введите в поле рядом с полемПроверка данныхЕЧИСЛОнажмите кнопкуили того, чтобы производитьи клавиш должны быть самостоятельными Excel Идеально было-бы чтобы количество. Для этого — соответственный заголовок который содержит значение сделать и чтобы возможность, чтобы допустимСсылкаимя..Найти и выделить«Найти далее» поиск именно по«Ячейки целиком»Ctrl+F элементами. Так, если
Поисковая функция в программе формула при отсутствии в ячейку E2 столбца листа. Как ячейки B1
не гадать? при нажатии илизначениеи нажмите кнопкуПримечание:Примечание:и нажмите кнопку, чтобы перейти к результатам, по темотключены, но, если, после чего запуститься в качестве запроса Microsoft Excel предлагает
в таблице исходного вводим формулу: видно все сходиться,в ячейке B3 будетbuchlotnik выделении ячейки А1B3
имя первого ссылкуМы стараемся как ФункцияНайти поисковой выдаче. данным, которые отображаются
мы поставим галочки знакомое нам уже будет задано выражение возможность найти нужные числа сама подбирала
Более того для диапазона значение 5277 содержится отображается название строки,: ну дык вытащите на первом листе, чтобы выделить эту на ячейку или можно оперативнее обеспечиватьпоиска.Как видим, программа Excel в ячейке, а около соответствующих пунктов, окно «прав», то в текстовые или числовые ближайшее значение, которое табличной части создадим
- в ячейке столбца которая содержит значение сцылу из имени: выделилась (показалась на ячейку, или диапазон, который требуется вас актуальными справочнымине учитывается регистр.
В поле представляет собой довольно не в строке то в таком«Найти и заменить» выдаче будут представлены значения через окно содержит таблица. Чтобы правило условного форматирования: D. Рекомендуем посмотреть ячейки B1.=ГИПЕРССЫЛКА(«#Лист5!R1000C1000:R1050C1050″;»перейти к сцылко») экране) область 1000,1000B1:B3 выделить. Затем удерживая материалами на вашемПримечание:Найти
простой, но вместе
lumpics.ru
Проверка ячейки на наличие в ней текста (без учета регистра)
формул, нужно переставить случае, при формировании. Дальнейшие действия точно все ячейки, которые «Найти и заменить». создать такую программуВыделите диапазон B6:J12 и на формулу дляФактически необходимо выполнить поискили в стиле — 1050,1050 на, чтобы выделить диапазон клавишу CTRL, щелкните языке. Эта страницаМы стараемся каквведите текст — с тем очень переключатель из позиции результата будет учитываться такие же, что содержат данный последовательный Кроме того, в
для анализа таблиц выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное получения целого адреса координат в Excel. A1:Код =ГИПЕРССЫЛКА(«#Лист5!$ALL$1000:$ANJ$1050»;»перейти к пятом листе. (1000 из трех ячеек. имена других ячеек переведена автоматически, поэтому можно оперативнее обеспечивать или номера —, функциональный набор инструментов«Формулы»
введенный регистр, и и при предыдущем набор символов даже приложении имеется возможность в ячейку F1
Поиск ячеек, содержащих текст
форматирование»-«Правила выделения ячеек»-«Равно». текущей ячейки. Для чего это
-
сцылко») и 1050 - Чтобы выделить несколько
или диапазонов в ее текст может вас актуальными справочными
-
вам нужно найти. поиска. Для того,в позицию точное совпадение. Если способе. Единственное отличие внутри слова. Например, расширенного поиска данных. введите новую формулу:В левом поле введите
-
Теперь получим номер строки нужно? Достаточно частоЮрий_Нд номера строк и ячеек или диапазонов, поле содержать неточности и материалами на вашем Или выберите из
чтобы произвести простейший«Значения» вы введете слово
-
будет состоять в релевантным запросу вПростой поиск данных вПосле чего следует во значение $B$1, а для этого же нам нужно получить: Пост номер восемь.
-
столбцов) укажите их вимя грамматические ошибки. Для языке. Эта страница раскрывающегося списка писк, достаточно вызвать. Кроме того, существует
с маленькой буквы, том, что поиск этом случае будет программе Excel позволяет всех остальных формулах из правого выпадающего значения (5277). Для координаты таблицы поВыделенной области присвоилии можно ли
-
поле. нас важно, чтобы переведена автоматически, поэтомуНайти
поисковое окно, ввести возможность поиска по то в поисковую выполняется только в считаться слово «Направо». найти все ячейки, изменить ссылку вместо списка выберите опцию этого в ячейку
значению. Немного напоминает имя «сцылко». в такой «переход организовать»
Проверка ячейки на наличие в ней любого текста
СсылкаПримечание: эта статья была ее текст может
Проверка соответствия содержимого ячейки определенному тексту
последнего поиска. в него запрос, примечаниям. В этом выдачу, ячейки содержащие указанном интервале ячеек. Если вы зададите
Проверка соответствия части ячейки определенному тексту
в которых содержится B1 должно быть «Светло-красная заливка и C3 введите следующую обратный анализ матрицы. гиперссылке обращаются к с помощью стандартнойчерез запятые.
Текущая выделенная ячейка останется вам полезна. Просим содержать неточности иПримечание:
support.office.com
Поиск ячеек с условным форматированием
и нажать на случае, переключатель переставляем написание этого словаКак уже говорилось выше, в поисковике цифру введенный в поисковое F1! Так же темно-красный цвет» и формулу: Конкретный пример в нужной области с функции Эксель.Примечание: выделенной вместе с вас уделить пару грамматические ошибки. Для В условиях поиска можно кнопку. Но, в в позицию с большой буквы, при обычном поиске «1», то в
окно набор символов нужно изменить ссылку нажмите ОК.После ввода формулы для двух словах выглядит помощью имени этойbuchlotnik В списке ячейками, указанными в секунд и сообщить, нас важно, чтобы использовать подстановочные знаки. то же время,«Примечания» как это было
Поиск всех ячеек с условным форматированием
-
в результаты выдачи ответ попадут ячейки,
-
(буквы, цифры, слова, в условном форматировании.В ячейку B1 введите подтверждения снова нажимаем примерно так. Поставленная области. Я же:Перейти поле помогла ли она эта статья была
Поиск ячеек с одинаковым условным форматированием
-
Чтобы задать формат для существует возможность настройки.
-
бы по умолчанию, попадают абсолютно все которые содержат, например, и т.д.) без Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление значение 3478 и комбинацию клавиш CTRL+SHIFT+Enter цель в цифрах хочу, чтобы кЮрий_Ндможно просмотреть все
-
Имя вам, с помощью вам полезна. Просим
-
поиска, нажмите кнопку индивидуального поиска сЕщё более точно поиск уже не попадут. ячейки, содержащие последовательный
support.office.com
Выделение отдельных ячеек или диапазонов
число «516». учета регистра. правилами»-«Изменить правило». И полюбуйтесь на результат. и получаем результат: является исходным значением, нужной области обращались, а какова конечная именованные или неименованные(это относится и кнопок внизу страницы. вас уделить паруФормат большим количеством различных можно задать, нажав Кроме того, если набор поисковых символовДля того, чтобы перейтиНаходясь во вкладке здесь в параметрахКак видно при наличииФормула вернула номер 9
нужно определить кто не с помощью цель данного мероприятия? ячейки или диапазоны, к диапазонам). Для удобства также секунд и сообщить,и внесите нужные параметров и дополнительных на кнопку
включена функция в любом виде
к следующему результату,«Главная» укажите F1 вместо дубликатов формула для – нашла заголовок и когда наиболее
его имени, а_Igor_61 которые ранее былиЧтобы выделить неименованный диапазон приводим ссылку на помогла ли она изменения во всплывающем настроек.«Формат»«Ячейки целиком»
Выделение именованных и неименованных ячеек и диапазонов с помощью поля «Имя»
не зависимо от опять нажмите кнопку, кликаем по кнопке B1. Чтобы проверить заголовков берет заголовок строки листа по
-
приближен к этой с помощью буквенного: ? Делаете гиперссылку выделены с помощью
или ссылку на оригинал (на английском вам, с помощью окнеАвтор: Максим Тютюшев., то в выдачу регистра.«Найти далее»«Найти и выделить»
-
работу программы, введите с первого дубликата соответствующему значению таблицы. цели. Для примера обозначения этого диапазона в А1 на команды ячейку, введите ссылку языке) . кнопок внизу страницы.Найти форматПримечание:При этом открывается окно будут добавляться толькоК тому же, в., которая расположена на
в ячейку B1 по горизонтали (с В результате мы используем простую матрицу (по диагональным ячейкам имя, которое ВыПерейти на нужную ячейку
-
Независимо от наличия определенных Для удобства также.Мы стараемся как формата ячеек. Тут элементы, содержащие точное
выдачу может попастьТак можно продолжать до ленте в блоке число которого нет лева на право). имеем полный адрес данных с отчетом области).
присвоили на пятом. Чтобы вернуться к или диапазон и именованных ячеек или приводим ссылку наКнопка можно оперативнее обеспечивать можно установить формат наименование. Например, если не только содержимое тех, пор, пока инструментов в таблице, например: А формула для значения D9. по количеству проданныхЧто-то типа «=ГИПЕРССЫЛКА(Лист5!AI57:AM68)» листе нужному диапазону ячейке или диапазону,
Выделение именованных и неименованных ячеек и диапазонов с помощью команды «Перейти»
-
нажмите клавишу ВВОД. диапазонов на листе, оригинал (на английскомПараметры вас актуальными справочными ячеек, которые будут вы зададите поисковый конкретной ячейки, но отображение результатов не«Редактирование» 8000. Это приведет получения названия (номера)
-
товаров за три ( если бы (или ячейке на которые были выделеныСовет: чтобы быстро найти языке) .служит для задания материалами на вашем
участвовать в поиске. запрос «Николаев», то и адрес элемента, начнется по новому. В появившемся меню к завершающему результату: строки берет номерТеперь научимся получать по квартала, как показано это еще работало). 1000 строке в раньше, дважды щелкните Например, введите и выбрать отдельныхЕсли к одной или
более подробных условий языке. Эта страница Можно устанавливать ограничения ячейки, содержащие текст на который она кругу. выбираем пунктТеперь можно вводить любое с первого дубликата значению координаты не ниже на рисунке.То есть я 1050 столбце), либо нужное имя ссылкиB3 ячеек или диапазонов нескольким ячейкам на поиска. Например, можно найти переведена автоматически, поэтому
по числовому формату, «Николаев А. Д.», ссылается. Например, вВ случае, если при«Найти…» исходное значение, а по вертикали (сверху целого листа, а Важно, чтобы все принципиальная не хочу макросом — переход на ячейку в, чтобы выделить эту вводя их имена листе применено условный все ячейки, содержащие ее текст может по выравниванию, шрифту,
support.office.com
Как быстро находить нужную ячейку на большом листе. (Формулы/Formulas)
в выдачу уже ячейке E2 содержится запуске поисковой процедуры. Вместо этих действий
программа сама подберет вниз). Для исправления текущей таблицы. Одним числовые показатели совпадали.
давать имя выделенной на этот же
списке ячейку, или и ссылок на формат, можно быстро данных определенного типа,
содержать неточности и границе, заливке и добавлены не будут. формула, которая представляет вы нажмете на
можно просто набрать ближайшее число, которое данного решения есть словом, нам нужно
Если нет желания области. именованный диапазон приПерейтиB1:B3 ячейки можно использовать найти их для такого как формулы. грамматические ошибки. Для защите, по одномуПо умолчанию, поиск производится собой сумму ячеек
кнопку на клавиатуре сочетание содержит таблица. После 2 пути:
найти по значению вручную создавать иЮрий_Нд выделении А1.
, чтобы выделить диапазон поле имени. копирования, изменения илиДля поиска на текущем нас важно, чтобы из этих параметров, только на активном A4 и C3.«Найти все» клавиш чего выводит заголовокПолучить координаты первого дубликата 5277 вместо D9
заполнять таблицу Excel:Юрий_Нд
Совет: из трех ячеек.Поле «Имя» расположено слева удаления условного формата. листе или во эта статья была или комбинируя их листе Excel. Но, Эта сумма равна
, все результаты выдачиCtrl+F столбца и название
по горизонтали (с получить заголовки: с чистого листа,
buchlotnik: Сделать что-то типа
Чтобы быстро найти иПримечание: от строки формул. Для поиска ячеек всей книге можно вам полезна. Просим вместе. если параметр 10, и именно будут представлены в.
строки для текущего лева на право).для столбца таблицы – то в конце, у Вас еще
оглавления. выделите все ячейки,
В поле
Кроме того, для выделения с определенным условным выбрать в поле вас уделить паруЕсли вы хотите использовать«Искать»
это число отображается виде списка вПосле того, как вы значения. Например, если
Для этого только Март; статьи можно скачать
одна «десяточка».Цитата
содержащие определенных типовИмя именованных и неименованных форматированием или всехИскать секунд и сообщить, формат какой-то конкретнойвы переведете в в ячейке E2. нижней части поискового перешли по соответствующим ввести число 5000 в ячейке С3для строки – Товар4.
уже с готовымДопустим ваш отчет содержит_Igor_61, 08.09.2017 в
данных (например, формулы)невозможно удалить или ячеек и диапазонов ячеек с условным
вариант помогла ли она ячейки, то в позицию Но, если мы
excelworld.ru
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
окна. В этом пунктам на ленте, получаем новый результат: следует изменить формулуЧтобы решить данную задачу примером. таблицу с большим 15:53, в сообщении или только ячейки, изменить имена, определенные можно использовать команду форматированием можно использоватьЛист вам, с помощью нижней части окна«В книге» зададим в поиске списке находятся информация или нажали комбинациюСкачать пример поиска значения на: В результате будем использовать формулуПоследовательно рассмотрим варианты решения количеством данных на № 6 () которые удовлетворяют определенным для ячеек иПерейти командуили кнопок внизу страницы. нажмите на кнопку
Поиск значения в массиве Excel
, то поиск будет цифру «4», то
- о содержимом ячеек «горячих клавиш», откроется в диапазоне Excel
- получаем правильные координаты с уже полученными разной сложности, а множество столбцов. Проводить
- Делаете гиперссылку в критериям (например, только диапазонов. Имена можно.
Выделить группу ячеекКнига Для удобства также«Использовать формат этой ячейки…» производиться по всем среди результатов выдачи с данными, удовлетворяющими окноНаша программа в Excel как для листа, значениями в ячейках в конце статьи визуальный анализ таких А1 на имя, видимые ячейки или удалять и изменятьВажно:.. приводим ссылку на. листам открытого файла. будет все та запросу поиска, указан«Найти и заменить» нашла наиболее близкое так и для C2 и C3. – финальный результат. таблиц крайне сложно. которое Вы присвоили последнюю ячейку на только в диалоговом
Чтобы выделить именованные ячейкиЩелкните любую ячейку безНажмите кнопку оригинал (на английском
Поиск значения в столбце Excel
После этого, появляется инструментВ параметре же ячейка E2. их адрес расположения,
- во вкладке значение 4965 для таблицы: Для этого делаемСначала научимся получать заголовки А одним из на пятом листе листе, содержащую данные окне и диапазоны, необходимо условного форматирования.
- Найти все языке) . в виде пипетки.«Просматривать» Как такое могло
- а также лист«Найти» исходного – 5000.Получить координаты первого дубликата так: столбцов таблицы по заданий по работе нужному диапазону или форматирование), нажмитеДиспетчер имен сначала определить их
На вкладкеилиПредположим, что вы хотите С помощью негоможно изменить направление получиться? Просто в и книга, к. Она нам и Такая программа может по вертикали (сверхуДля заголовка столбца. В
Поиск значения в строке Excel
значению. Для этого с отчетом являетсяА Вы не кнопку(вкладка имена на листе.
ГлавнаяНайти далее убедиться, что столбец можно выделить ту
поиска. По умолчанию, ячейке E2 в которым они относятся. нужна. В поле пригодится для автоматического вниз). Для этого ячейку D2 введите
выполните следующие действия:
Как получить заголовок столбца и название строки таблицы
– анализ данных могли бы «функциюВыделитьФормулы Сведения об именованиив группе. содержит текст, не
- ячейку, формат которой как уже говорилось
- качестве формулы содержится
Для того, чтобы«Найти» решения разных аналитических только в ячейке формулу: На этотВ ячейку B1 введите относительно заголовков строк
- изобразить»?в, группа ячеек и диапазоновРедактированиеНайти все номера. Или perhapsyou
- вы собираетесь использовать. выше, поиск ведется адрес на ячейку
перейти к любомувводим слово, символы, задач при бизнес-планировании, С2 следует изменить
раз после ввода значение взятое из и столбцов касающихсяbuchlotnikПерейти кОпределенные имена см. в статьещелкните стрелку рядомсписки каждого экземпляра необходимо найти всеПосле того, как формат
Поиск одинаковых значений в диапазоне Excel
по порядку построчно. A4, который как из результатов выдачи, или выражения, по постановки целей, поиска формулу на: формулы для подтверждения таблицы 5277 и определенного месяца. На
: типа того:всплывающего окна и). Дополнительные сведения см.
- Определение и использование с кнопкой элемента, который необходимо
- заказы, которые соответствуют поиска настроен, жмем Переставив переключатель в раз включает в достаточно просто кликнуть которым собираемся производить рационального решения и
- В данном случаи изменяем жмем как по выделите ее фон
первый взгляд это=ГИПЕРССЫЛКА(«#сцылко»;»перейти к сцылко») выберите нужный вариант. в статье Определение имен в формулах.Найти и выделить найти, и позволяет определенным Продавец. Если на кнопку позицию себя искомую цифру по нему левой поиск. Жмем на т.п. А полученные
- формулы либо одну традиции просто Enter: синим цветом для весьма простое задание,Юрий_НдЮрий_Нд и использование именВ поле, а затем выберите сделать активной ячейки, у вас нет
- «OK»«По столбцам» 4. кнопкой мыши. После кнопку строки и столбцы
либо другую, ноДля строки вводим похожую, читабельности поля ввода но его нельзя: Спасибо, «в десяточку».: Приходится работать достаточно в формулах.Имя
пункт выбрав нужное вхождение. проблемой верхний или., можно задать порядокНо, как отсечь такие, этого курсор перейдет«Найти далее» позволяют дальше расширять
Поиск ближайшего значения в диапазоне Excel
не две сразу. но все же (далее будем вводить решить, используя однуЕсли ещё не большим листом вНа вкладке «, которое расположено слеваУсловное форматирование Можно сортировать результаты нижний регистр текста,Бывают случаи, когда нужно формирования результатов выдачи, и другие заведомо на ту ячейку, или на кнопку вычислительные возможности такого Стоит напомнить о немного другую формулу: в ячейку B1
стандартную функцию. Да, «доканал» всех своими Экселе.Главная от строка формул,.Найти существует несколько способов произвести поиск не начиная с первого неприемлемые результаты выдачи Excel, по записи«Найти всё» рода отчетов с том, что вВ результате получены внутренние другие числа, чтобы конечно можно воспользоваться
просьбами, как сослатьсяПодскажите, как можно» в группе выполните одно изЩелкните ячейку с условнымвсе, щелкнув заголовок. проверки, если ячейка по конкретному словосочетанию, столбца. поиска? Именно для которой пользователь сделал
. помощью новых формул
ячейке С3 должна координаты таблицы по экспериментировать с новыми инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F, не на именованный решить задачу с « указанных ниже действий. форматированием, которое необходимоПримечание: содержит текст. а найти ячейки,В графе этих целей существует щелчок.При нажатии на кнопку Excel.
exceltable.com
оставаться старая формула:
Добрый день.
Прошу помогите.
Знаю способ чтения данных из выделенных ячеек Excel:
Visual Basic | ||
|
У этого способа недостаток в том что нужно сначала выделить тот лист на котором будем считывать выделенные ячейки.
А есть способ получить доступ к выделенным ячейкам не выделяя лист?
т.е. без использования команд типа «Worksheets.Activate»
Добавлено через 13 минут
В дополнение к своему вопросу хотелось бы узнать как можно узнать координаты выделенной ячейки?
Поясню, допустим имеется область выделенных ячеек 4×5.
код
Selection.Rows.Count — вернет кол-во строк у выделенных ячеек, т.е. 5
Selection.Columns.Count — вернет кол-во столбцов у выделенных ячеек, т.е. 4
а как допустим получить доступ к выделенной ячейке (2,3) ?
т.к. код
Selection(i) — это одномерный массив выделенных ячеек, а мне бы хотелось двумерный, т.к. мне нужна ячейка (2,3).
Всё о работе с ячейками в Excel-VBA: обращение, перебор, удаление, вставка, скрытие, смена имени.
Содержание:
Table of Contents:
- Что такое ячейка Excel?
- Способы обращения к ячейкам
- Выбор и активация
- Получение и изменение значений ячеек
- Ячейки открытой книги
- Ячейки закрытой книги
- Перебор ячеек
- Перебор в произвольном диапазоне
- Свойства и методы ячеек
- Имя ячейки
- Адрес ячейки
- Размеры ячейки
- Запуск макроса активацией ячейки
2 нюанса:
- Я почти везде стараюсь использовать ThisWorkbook (а не, например, ActiveWorkbook) для обращения к текущей книге, в которой написан этот код (считаю это наиболее безопасным для новичков способом обращения к книгам, чтобы случайно не внести изменения в другие книги). Для экспериментов можете вставлять этот код в модули, коды книги, либо листа, и он будет работать только в пределах этой книги.
- Я использую английский эксель и у меня по стандарту листы называются Sheet1, Sheet2 и т.д. Если вы работаете в русском экселе, то замените Thisworkbook.Sheets(«Sheet1») на Thisworkbook.Sheets(«Лист1»). Если этого не сделать, то вы получите ошибку в связи с тем, что пытаетесь обратиться к несуществующему объекту. Можно также заменить на Thisworkbook.Sheets(1), но это менее безопасно.
Что такое ячейка Excel?
В большинстве мест пишут: «элемент, образованный пересечением столбца и строки». Это определение полезно для людей, которые не знакомы с понятием «таблица». Для того, чтобы понять чем на самом деле является ячейка Excel, необходимо заглянуть в объектную модель Excel. При этом определения объектов «ряд», «столбец» и «ячейка» будут отличаться в зависимости от того, как мы работаем с файлом.
Объекты в Excel-VBA. Пока мы работаем в Excel без углубления в VBA определение ячейки как «пересечения» строк и столбцов нам вполне хватает, но если мы решаем как-то автоматизировать процесс в VBA, то о нём лучше забыть и просто воспринимать лист как «мешок» ячеек, с каждой из которых VBA позволяет работать как минимум тремя способами:
- по цифровым координатам (ряд, столбец),
- по адресам формата А1, B2 и т.д. (сценарий целесообразности данного способа обращения в VBA мне сложно представить)
- по уникальному имени (во втором и третьем вариантах мы будем иметь дело не совсем с ячейкой, а с объектом VBA range, который может состоять из одной или нескольких ячеек). Функции и методы объектов Cells и Range отличаются. Новичкам я бы порекомендовал работать с ячейками VBA только с помощью Cells и по их цифровым координатам и использовать Range только по необходимости.
Все три способа обращения описаны далее
Как это хранится на диске и как с этим работать вне Excel? С точки зрения хранения и обработки вне Excel и VBA. Сделать это можно, например, сменив расширение файла с .xls(x) на .zip и открыв этот архив.
Пример содержимого файла Excel:
Далее xl -> worksheets и мы видим файл листа
Содержимое файла:
То же, но более наглядно:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{00000000-0001-0000-0000-000000000000}">
<dimension ref="B2:F6"/>
<sheetViews>
<sheetView tabSelected="1" workbookViewId="0">
<selection activeCell="D12" sqref="D12"/>
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="14.4" x14ac:dyDescent="0.3"/>
<sheetData>
<row r="2" spans="2:6" x14ac:dyDescent="0.3">
<c r="B2" t="s">
<v>0</v>
</c>
</row>
<row r="3" spans="2:6" x14ac:dyDescent="0.3">
<c r="C3" t="s">
<v>1</v>
</c>
</row>
<row r="4" spans="2:6" x14ac:dyDescent="0.3">
<c r="D4" t="s">
<v>2</v>
</c>
</row>
<row r="5" spans="2:6" x14ac:dyDescent="0.3">
<c r="E5" t="s">
<v>0</v></c>
</row>
<row r="6" spans="2:6" x14ac:dyDescent="0.3">
<c r="F6" t="s"><v>3</v>
</c></row>
</sheetData>
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
</worksheet>
Как мы видим, в структуре объектной модели нет никаких «пересечений». Строго говоря рабочая книга — это архив структурированных данных в формате XML. При этом в каждую «строку» входит «столбец», и в нём в свою очередь прописан номер значения данного столбца, по которому оно подтягивается из другого XML файла при открытии книги для экономии места за счёт отсутствия повторяющихся значений. Почему это важно. Если мы захотим написать какой-то обработчик таких файлов, который будет напрямую редактировать данные в этих XML, то ориентироваться надо на такую модель и структуру данных. И правильное определение будет примерно таким: ячейка — это объект внутри столбца, который в свою очередь находится внутри строки в файле xml, в котором хранятся данные о содержимом листа.
Способы обращения к ячейкам
Выбор и активация
Почти во всех случаях можно и стоит избегать использования методов Select и Activate. На это есть две причины:
- Это лишь имитация действий пользователя, которая замедляет выполнение программы. Работать с объектами книги можно напрямую без использования методов Select и Activate.
- Это усложняет код и может приводить к неожиданным последствиям. Каждый раз перед использованием Select необходимо помнить, какие ещё объекты были выбраны до этого и не забывать при необходимости снимать выбор. Либо, например, в случае использования метода Select в самом начале программы может быть выбрано два листа вместо одного потому что пользователь запустил программу, выбрав другой лист.
Можно выбирать и активировать книги, листы, ячейки, фигуры, диаграммы, срезы, таблицы и т.д.
Отменить выбор ячеек можно методом Unselect:
Selection.Unselect
Отличие выбора от активации — активировать можно только один объект из раннее выбранных. Выбрать можно несколько объектов.
Если вы записали и редактируете код макроса, то лучше всего заменить Select и Activate на конструкцию With … End With. Например, предположим, что мы записали вот такой макрос:
Sub Macro1()
' Macro1 Macro
Range("F4:F10,H6:H10").Select 'выбрали два несмежных диапазона зажав ctrl
Range("H6").Activate 'показывает только то, что я начал выбирать второй диапазон с этой ячейки (она осталась белой). Это действие ни на что не влияет
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535 'залили желтым цветом, нажав на кнопку заливки на верхней панели
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Почему макрос записался таким неэффективным образом? Потому что в каждый момент времени (в каждой строке) программа не знает, что вы будете делать дальше. Поэтому в записи выбор ячеек и действия с ними — это два отдельных действия. Этот код лучше всего оптимизировать (особенно если вы хотите скопировать его внутрь какого-нибудь цикла, который должен будет исполняться много раз и перебирать много объектов). Например, так:
Sub Macro11()
'
' Macro1 Macro
Range("F4:F10,H6:H10").Select '1. смотрим, что за объект выбран (что идёт до .Select)
Range("H6").Activate
With Selection.Interior '2. понимаем, что у выбранного объекта есть свойство interior, с которым далее идёт работа
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Sub Optimized_Macro()
With Range("F4:F10,H6:H10").Interior '3. переносим объект напрямую в конструкцию With вместо Selection
' ////// Здесь я для надёжности прописал бы ещё Thisworkbook.Sheet("ИмяЛиста") перед Range,
' ////// чтобы минимизировать риск любых случайных изменений других листов и книг
' ////// With Thisworkbook.Sheet("ИмяЛиста").Range("F4:F10,H6:H10").Interior
.Pattern = xlSolid '4. полностью копируем всё, что было записано рекордером внутрь блока with
.PatternColorIndex = xlAutomatic
.Color = 55555 '5. здесь я поменял цвет на зеленый, чтобы было видно, работает ли код при поочерёдном запуске двух макросов
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Пример сценария, когда использование Select и Activate оправдано:
Допустим, мы хотим, чтобы во время исполнения программы мы одновременно изменяли несколько листов одним действием и пользователь видел какой-то определённый лист. Это можно сделать примерно так:
Sub Select_Activate_is_OK()
Thisworkbook.Worksheets(Array("Sheet1", "Sheet3")).Select 'Выбираем несколько листов по именам
Thisworkbook.Worksheets("Sheet3").Activate 'Показываем пользователю третий лист
'Далее все действия с выбранными ячейками через Select будут одновременно вносить изменения в оба выбранных листа
'Допустим, что тут мы решили покрасить те же два диапазона:
Range("F4:F10,H6:H10").Select
Range("H6").Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Единственной причиной использовать этот код по моему мнению может быть желание зачем-то показать пользователю определённую страницу книги в какой-то момент исполнения программы. С точки зрения обработки объектов, опять же, эти действия лишние.
Получение и изменение значений ячеек
Значение ячеек можно получать/изменять с помощью свойства value.
'Если нужно прочитать / записать значение ячейки, то используется свойство Value
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value 'записать значение ячейки А1 листа "Sheet1" в переменную "a"
ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value = 1 'задать значение ячейки А1 (первый ряд, первый столбец) листа "Sheet1"
'Если нужно прочитать текст как есть (с форматированием), то можно использовать свойство .text:
ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text = "1"
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text
'Когда проявится разница:
'Например, если мы считываем дату в формате "31 декабря 2021 г.", хранящуюся как дата
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value 'эапишет как "31.12.2021"
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text 'запишет как "31 декабря 2021 г."
Ячейки открытой книги
К ячейкам можно обращаться:
'В книге, в которой хранится макрос (на каком-то из листов, либо в отдельном модуле или форме)
ThisWorkbook.Sheets("Sheet1").Cells(1,1).Value 'По номерам строки и столбца
ThisWorkbook.Sheets("Sheet1").Cells(1,"A").Value 'По номерам строки и букве столбца
ThisWorkbook.Sheets("Sheet1").Range("A1").Value 'По адресу - вариант 1
ThisWorkbook.Sheets("Sheet1").[A1].Value 'По адресу - вариант 2
ThisWorkbook.Sheets("Sheet1").Range("CellName").Value 'По имени ячейки (для этого ей предварительно нужно его присвоить)
'Те же действия, но с использованием полного названия рабочей книги (книга должна быть открыта)
Workbooks("workbook.xlsm").Sheets("Sheet1").Cells(1,1).Value 'По номерам строки и столбца
Workbooks("workbook.xlsm").Sheets("Sheet1").Cells(1,"A").Value 'По номерам строки и букве столбца
Workbooks("workbook.xlsm").Sheets("Sheet1").Range("A1").Value 'По адресу - вариант 1
Workbooks("workbook.xlsm").Sheets("Sheet1").[A1].Value 'По адресу - вариант 2
Workbooks("workbook.xlsm").Sheets("Sheet1").Range("CellName").Value 'По имени ячейки (для этого ей предварительно нужно его присвоить)
Ячейки закрытой книги
Если нужно достать или изменить данные в другой закрытой книге, то необходимо прописать открытие и закрытие книги. Непосредственно работать с закрытой книгой не получится, потому что данные в ней хранятся отдельно от структуры и при открытии Excel каждый раз производит расстановку значений по соответствующим «слотам» в структуре. Подробнее о том, как хранятся данные в xlsx см выше.
Workbooks.Open Filename:="С:closed_workbook.xlsx" 'открыть книгу (она становится активной)
a = ActiveWorkbook.Sheets("Sheet1").Cells(1,1).Value 'достать значение ячейки 1,1
ActiveWorkbook.Close False 'закрыть книгу (False => без сохранения)
Скачать пример, в котором можно посмотреть, как доставать и как записывать значения в закрытую книгу.
Код из файла:
Option Explicit
Sub get_value_from_closed_wb() 'достать значение из закрытой книги
Dim a, wb_path, wsh As String
wb_path = ThisWorkbook.Sheets("Sheet1").Cells(2, 3).Value 'get path to workbook from sheet1
wsh = ThisWorkbook.Sheets("Sheet1").Cells(3, 3).Value
Workbooks.Open Filename:=wb_path
a = ActiveWorkbook.Sheets(wsh).Cells(3, 3).Value
ActiveWorkbook.Close False
ThisWorkbook.Sheets("Sheet1").Cells(4, 3).Value = a
End Sub
Sub record_value_to_closed_wb() 'записать значение в закрытую книгу
Dim wb_path, b, wsh As String
wsh = ThisWorkbook.Sheets("Sheet1").Cells(3, 3).Value
wb_path = ThisWorkbook.Sheets("Sheet1").Cells(2, 3).Value 'get path to workbook from sheet1
b = ThisWorkbook.Sheets("Sheet1").Cells(5, 3).Value 'get value to record in the target workbook
Workbooks.Open Filename:=wb_path
ActiveWorkbook.Sheets(wsh).Cells(4, 4).Value = b 'add new value to cell D4 of the target workbook
ActiveWorkbook.Close True
End Sub
Перебор ячеек
Перебор в произвольном диапазоне
Скачать файл со всеми примерами
Пройтись по всем ячейкам в нужном диапазоне можно разными способами. Основные:
- Цикл For Each. Пример:
Sub iterate_over_cells() For Each c In ThisWorkbook.Sheets("Sheet1").Range("B2:D4").Cells MsgBox (c) Next c End Sub
Этот цикл выведет в виде сообщений значения ячеек в диапазоне B2:D4 по порядку по строкам слева направо и по столбцам — сверху вниз. Данный способ можно использовать для действий, в который вам не важны номера ячеек (закрашивание, изменение форматирования, пересчёт чего-то и т.д.).
- Ту же задачу можно решить с помощью двух вложенных циклов — внешний будет перебирать ряды, а вложенный — ячейки в рядах. Этот способ я использую чаще всего, потому что он позволяет получить больше контроля над исполнением: на каждой итерации цикла нам доступны координаты ячеек. Для перебора всех ячеек на листе этим методом потребуется найти последнюю заполненную ячейку. Пример кода:
Sub iterate_over_cells() Dim cl, rw As Integer Dim x As Variant 'перебор области 3x3 For rw = 1 To 3 ' цикл для перебора рядов 1-3 For cl = 1 To 3 'цикл для перебора столбцов 1-3 x = ThisWorkbook.Sheets("Sheet1").Cells(rw + 1, cl + 1).Value MsgBox (x) Next cl Next rw 'перебор всех ячеек на листе. Последняя ячейка определена с помощью UsedRange 'LastRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1 'LastCol = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1 'For rw = 1 To LastRow 'цикл перебора всех рядов ' For cl = 1 To LastCol 'цикл для перебора всех столбцов ' Действия ' Next cl 'Next rw End Sub
- Если нужно перебрать все ячейки в выделенном диапазоне на активном листе, то код будет выглядеть так:
Sub iterate_cell_by_cell_over_selection() Dim ActSheet As Worksheet Dim SelRange As Range Dim cell As Range Set ActSheet = ActiveSheet Set SelRange = Selection 'if we want to do it in every cell of the selected range For Each cell In Selection MsgBox (cell.Value) Next cell End Sub
Данный метод подходит для интерактивных макросов, которые выполняют действия над выбранными пользователем областями.
- Перебор ячеек в ряду
Sub iterate_cells_in_row() Dim i, RowNum, StartCell As Long RowNum = 3 'какой ряд StartCell = 0 ' номер начальной ячейки (минус 1, т.к. в цикле мы прибавляем i) For i = 1 To 10 ' 10 ячеек в выбранном ряду ThisWorkbook.Sheets("Sheet1").Cells(RowNum, i + StartCell).Value = i '(i + StartCell) добавляет 1 к номеру столбца при каждом повторении Next i End Sub
- Перебор ячеек в столбце
Sub iterate_cells_in_column() Dim i, ColNum, StartCell As Long ColNum = 3 'какой столбец StartCell = 0 ' номер начальной ячейки (минус 1, т.к. в цикле мы прибавляем i) For i = 1 To 10 ' 10 ячеек ThisWorkbook.Sheets("Sheet1").Cells(i + StartCell, ColNum).Value = i ' (i + StartCell) добавляет 1 к номеру ряда при каждом повторении Next i End Sub
Свойства и методы ячеек
Имя ячейки
Присвоить новое имя можно так:
Thisworkbook.Sheets(1).Cells(1,1).name = "Новое_Имя"
Для того, чтобы сменить имя ячейки нужно сначала удалить существующее имя, а затем присвоить новое. Удалить имя можно так:
ActiveWorkbook.Names("Старое_Имя").Delete
Пример кода для переименования ячеек:
Sub rename_cell()
old_name = "Cell_Old_Name"
new_name = "Cell_New_Name"
ActiveWorkbook.Names(old_name).Delete
ThisWorkbook.Sheets(1).Cells(2, 1).Name = new_name
End Sub
Sub rename_cell_reverse()
old_name = "Cell_New_Name"
new_name = "Cell_Old_Name"
ActiveWorkbook.Names(old_name).Delete
ThisWorkbook.Sheets(1).Cells(2, 1).Name = new_name
End Sub
Адрес ячейки
Sub get_cell_address() ' вывести адрес ячейки в формате буква столбца, номер ряда
'$A$1 style
txt_address = ThisWorkbook.Sheets(1).Cells(3, 2).Address
MsgBox (txt_address)
End Sub
Sub get_cell_address_R1C1()' получить адрес столбца в формате номер ряда, номер столбца
'R1C1 style
txt_address = ThisWorkbook.Sheets(1).Cells(3, 2).Address(ReferenceStyle:=xlR1C1)
MsgBox (txt_address)
End Sub
'пример функции, которая принимает 2 аргумента: название именованного диапазона и тип желаемого адреса
'(1- тип $A$1 2- R1C1 - номер ряда, столбца)
Function get_cell_address_by_name(str As String, address_type As Integer)
'$A$1 style
Select Case address_type
Case 1
txt_address = Range(str).Address
Case 2
txt_address = Range(str).Address(ReferenceStyle:=xlR1C1)
Case Else
txt_address = "Wrong address type selected. 1,2 available"
End Select
get_cell_address_by_name = txt_address
End Function
'перед запуском нужно убедиться, что в книге есть диапазон с названием,
'адрес которого мы хотим получить, иначе будет ошибка
Sub test_function() 'запустите эту программу, чтобы увидеть, как работает функция
x = get_cell_address_by_name("MyValue", 2)
MsgBox (x)
End Sub
Размеры ячейки
Ширина и длина ячейки в VBA меняется, например, так:
Sub change_size()
Dim x, y As Integer
Dim w, h As Double
'получить координаты целевой ячейки
x = ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Value
y = ThisWorkbook.Sheets("Sheet1").Cells(3, 2).Value
'получить желаемую ширину и высоту ячейки
w = ThisWorkbook.Sheets("Sheet1").Cells(6, 2).Value
h = ThisWorkbook.Sheets("Sheet1").Cells(7, 2).Value
'сменить высоту и ширину ячейки с координатами x,y
ThisWorkbook.Sheets("Sheet1").Cells(x, y).RowHeight = h
ThisWorkbook.Sheets("Sheet1").Cells(x, y).ColumnWidth = w
End Sub
Прочитать значения ширины и высоты ячеек можно двумя способами (однако результаты будут в разных единицах измерения). Если написать просто Cells(x,y).Width или Cells(x,y).Height, то будет получен результат в pt (привязка к размеру шрифта).
Sub get_size()
Dim x, y As Integer
'получить координаты ячейки, с которой мы будем работать
x = ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Value
y = ThisWorkbook.Sheets("Sheet1").Cells(3, 2).Value
'получить длину и ширину выбранной ячейки в тех же единицах измерения, в которых мы их задавали
ThisWorkbook.Sheets("Sheet1").Cells(2, 6).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).ColumnWidth
ThisWorkbook.Sheets("Sheet1").Cells(3, 6).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).RowHeight
'получить длину и ширину с помощью свойств ячейки (только для чтения) в поинтах (pt)
ThisWorkbook.Sheets("Sheet1").Cells(7, 9).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).Width
ThisWorkbook.Sheets("Sheet1").Cells(8, 9).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).Height
End Sub
Скачать файл с примерами изменения и чтения размера ячеек
Запуск макроса активацией ячейки
Для запуска кода VBA при активации ячейки необходимо вставить в код листа нечто подобное:
3 важных момента, чтобы это работало:
1. Этот код должен быть вставлен в код листа (здесь контролируется диапазон D4)
2-3. Программа, ответственная за запуск кода при выборе ячейки, должна называться Worksheet_SelectionChange и должна принимать значение переменной Target, относящейся к триггеру SelectionChange. Другие доступные триггеры можно посмотреть в правом верхнем углу (2).
Скачать файл с базовым примером (как на картинке)
Скачать файл с расширенным примером (код ниже)
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' имеем в виду, что триггер SelectionChange будет запускать эту Sub после каждого клика мышью (после каждого клика будет проверяться:
'1. количество выделенных ячеек и
'2. не пересекается ли выбранный диапазон с заданным в этой программе диапазоном.
' поэтому в эту программу не стоит без необходимости писать никаких других тяжелых операций
If Selection.Count = 1 Then 'запускаем программу только если выбрано не более 1 ячейки
'вариант модификации - брать адрес ячейки из другой ячейки:
'Dim CellName as String
'CellName = Activesheet.Cells(1,1).value 'брать текстовое имя контролируемой ячейки из A1 (должно быть в формате Буква столбца + номер строки)
'If Not Intersect(Range(CellName), Target) Is Nothing Then
'для работы этой модификации следующую строку надо закомментировать/удалить
If Not Intersect(Range("D4"), Target) Is Nothing Then
'если заданный (D4) и выбранный диапазон пересекаются
'(пересечение диапазонов НЕ равно Nothing)
'можно прописать диапазон из нескольких ячеек:
'If Not Intersect(Range("D4:E10"), Target) Is Nothing Then
'можно прописать несколько диапазонов:
'If Not Intersect(Range("D4:E10"), Target) Is Nothing or Not Intersect(Range("A4:A10"), Target) Is Nothing Then
Call program 'выполняем программу
End If
End If
End Sub
Sub program()
MsgBox ("Program Is running") 'здесь пишем код того, что произойдёт при выборе нужной ячейки
End Sub