Алексей Гладкий - Excel. Трюки и эффекты стр 20.

Шрифт
Фон

Если в ячейках А2 и В2 содержатся значения соответственно Экономист и Сидоров, то для объединения их в ячейке С2 можно нажать сочетание клавиш Ctrl+D. При этом созданная в ячейке С1 формула скопируется с учетом относительных адресов и в ячейке С2 отобразится значение Экономист по зарплате Сидоров.

Выделение диапазона над текущей ячейкой

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

Листинг 2.18. Выделение диапазона над текущей ячейкой

Sub SelectCellRange()

Dim strSelTop As String, strSelBottom As String

' Получение адресов нижней и верхней ячеек диапазона для выделения

strSelBottom = ActiveCell.Address

strSelTop = Cells(1, ActiveCell.Column).Address

' Выделяем все ячейки выше текущей (вместе с текущей ячейкой)

Range(strSelTop & ":" & strSelBottom).Select

End Sub

После выполнения макроса будет выделен диапазон, расположенный над текущей ячейкой (вместе с текущей ячейкой).

Поиск ближайшей пустой ячейки столбца

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

Листинг 2.19. Поиск ближайшей пустой ячейки столбца

Sub FindEmptyCell()

' Поиск ближайшей пустой ячейки в текущем столбце

Do While Not IsEmpty(ActiveCell.Value)

ActiveCell.Offset(1, 0).Select

Loop

End Sub

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

Поиск максимального значения в диапазоне

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

Листинг 2.20. Поиск максимального значения

Sub FindMaxValue()

On Error Goto NoCell

If Selection.Count > 1 Then

' Поиск максимального значения в выделенных ячейках

Selection.Find(Application.Max(Selection)).Select

Else

' Поиск максимального значения во всех ячейках листа

ActiveSheet.Cells.Find(Application.Max(ActiveSheet.Cells)).Select

End If

Exit Sub

NoCell:

MsgBox "Максимальное значение не найдено"

End Sub

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

Автоматическая замена значений диапазона

Рассмотрим трюк, с помощью которого можно автоматически заменять значения ячеек диапазона на какие-либо фиксированные значения. В листинге 2.21 показан код одного из макросов, которые позволяют решить данную задачу.

Листинг 2.21. Автоматическая замена значений

Sub ReplaceValues()

Dim cell As Range

' Проверка каждой ячейки диапазона на возможность замены _

значения в ней (отрицательные значения заменяются на -1, _

положительные – на 1)

For Each cell In Range("C1:C3").Cells

If cell.Value < 0 Then

cell.Value = -1

ElseIf cell.Value > 0 Then

cell.Value = 1

End If

Next

End Sub

В данном примере обрабатывается диапазон С1:C3. После применения приведенного выше макроса все положительные значения данного диапазона будут заменены на 1, а отрицательные – на -1.

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

Засекречивание содержимого ячейки

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

Допустим, в ячейке А1 содержится значение 2 5, в ячейке А2 – значение 4 3, а в ячейке В1 рассчитана сумма двух этих ячеек по формуле =СУММ (А1: А2) (рис. 2.3).

Excel. Трюки и эффекты

Рис. 2.3. Фрагмент рабочего листа

Скроем содержимое ячейки А1. Для этого выделим ее, выполним команду контекстного меню Формат ячеек и в открывшемся окне на вкладке Число в списке Числовые форматы выберем позицию (все форматы), которая расположена в конце данного списка. После этого в открывшемся справа поле Тип введем подряд три точки с запятой -;;; (рис. 2.4).

Алексей Гладкий, Александр Чиртик - Excel. Трюки и эффекты

Рис. 2.4. Окно Формат ячеек

После нажатия в окне кнопки ОК содержимое ячейки А1 будет скрыто (рис. 2.5).

Excel. Трюки и эффекты

Рис. 2.5. Скрытие содержимого ячейки

На данном рисунке видно, что, несмотря на то что в ячейке А1 ничего не отображается, значение в ней все равно сохраняется и участвует в расчетах (см. строку формул и значение в ячейке В1). Если установить курсор в ячейку А1, то ее значение отобразится в строке формул.

Всем ячейкам диапазона – одно значение

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

1. Выделить соответствующий диапазон ячеек (допускается выделение несмежных ячеек).

2. Ввести требуемое значение.

3. Нажать сочетание клавиш Ctrl+Enter.

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

Добавление в ячейку раскрывающегося списка

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

1. Ввести список допустимых значений в один столбец (при необходимости этот столбец можно скрыть).

2. Установить курсор в ячейку, в которую необходимо поместить раскрывающийся список.

3. На вкладке Данные в группе Работа с данными нажать кнопку Проверка данных.

4. В открывшемся окне перейти на вкладку Параметры.

5. В поле Тип данных из раскрывающегося списка выбрать значение Список.

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

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

8. Нажать кнопку ОК.

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

Быстрое заполнение диапазона

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

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

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

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3