Очевидно, что с помощью подобных макросов можно заменять значения в любых диапазонах.
Засекречивание содержимого ячейки
При необходимости можно скрыть от несанкционированного просмотра либо редактирования содержимое той или иной ячейки. Рассмотрим применение данной операции на конкретном примере.
Допустим, в ячейке А1 содержится значение 2 5, в ячейке А2 – значение 4 3, а в ячейке В1 рассчитана сумма двух этих ячеек по формуле =СУММ (А1: А2) (рис. 2.3).
Рис. 2.3. Фрагмент рабочего листа
Скроем содержимое ячейки А1. Для этого выделим ее, выполним команду контекстного меню Формат ячеек и в открывшемся окне на вкладке Число в списке Числовые форматы выберем позицию (все форматы), которая расположена в конце данного списка. После этого в открывшемся справа поле Тип введем подряд три точки с запятой —;;; (рис. 2.4).
Рис. 2.4. Окно Формат ячеек
После нажатия в окне кнопки ОК содержимое ячейки А1 будет скрыто (рис. 2.5).
Рис. 2.5. Скрытие содержимого ячейки
На данном рисунке видно, что, несмотря на то что в ячейке А1 ничего не отображается, значение в ней все равно сохраняется и участвует в расчетах (см. строку формул и значение в ячейке В1). Если установить курсор в ячейку А1, то ее значение отобразится в строке формул.
Всем ячейкам диапазона – одно значение
В процессе эксплуатации программы иногда возникает необходимость быстрого заполнения нескольких ячеек одинаковым содержимым. Наиболее распространенный способ – копирование нужного значения в буфер, затем выделение диапазона ячеек, в которые необходимо ввести это значение, и нажатие Enter. Однако подобный эффект достигается и другим способом. Для этого необходимо выполнить следующие действия.
1. Выделить соответствующий диапазон ячеек (допускается выделение несмежных ячеек).
2. Ввести требуемое значение.
3. Нажать сочетание клавиш Ctrl+Enter.
В результате введенное значение отобразится во всех ячейках выделенного диапазона.
Добавление в ячейку раскрывающегося списка
Одним из удобных способов заполнения ячейки является применение раскрывающегося списка, который включает в себя перечень возможных значений. Чтобы создать в ячейке раскрывающийся список, нужно выполнить следующие действия.
1. Ввести список допустимых значений в один столбец (при необходимости этот столбец можно скрыть).
2. Установить курсор в ячейку, в которую необходимо поместить раскрывающийся список.
3. На вкладке Данные в группе Работа с данными нажать кнопку Проверка данных.
4. В открывшемся окне перейти на вкладку Параметры.
5. В поле Тип данных из раскрывающегося списка выбрать значение Список.
6. В открывшемся поле Источник указать диапазон с элементами списка (то есть столбец, в который были введены допустимые значения, см. п. 1).
7. Проверить, чтобы был установлен флажок Список допустимых значений (обычно этот флажок установлен по умолчанию).
8. Нажать кнопку ОК.
Данная технология создания в ячейке раскрывающегося списка отличается удобством и быстротой, а также тем, что для ее реализации не требуется написание макросов.
Быстрое заполнение диапазона
Рассмотрим несколько несложных трюков, с помощью которых можно быстро заполнить любой диапазон необходимыми данными.
Предположим, что нам необходимо заполнить какой-нибудь диапазон последовательностью чисел от 1 до 100. Для решения этой задачи удобно воспользоваться макросом, код которого приведен в листинге 2.22 (этот код следует набрать в стандартном модуле редактора VBA).
Sub FillCells()
Dim intStartVal As Integer ' Начальное значение
Dim intStep As Integer ' Шаг при изменении значения
Dim intEndVal As Integer ' Конечное значение
Dim intVal As Integer ' Текущее значение
Dim intCellOffset As Integer ' Смещение от начальной ячейки
' Установка параметров заполнения
intStartVal = 1
intStep = 1
intEndVal = 100
' Заполнение ячеек текущего столбца значениями от 1 до 100
For intVal = intStartVal To intEndVal Step intStep
ActiveCell.Offset(intCellOffset, 0).Value = intVal
intCellOffset = intCellOffset + 1
Next intVal
End Sub
Сразу после выполнения макроса диапазон, расположенный ниже текущей ячейки (в том же столбце), будет заполнен числами от 1 до 100 (заполнение начнется с активной ячейки).