Excel. Трюки и эффекты | страница 126



Листинг 3.77. Отображение таблицы цветов

Sub ShowColorTable()

Dim intColor As Integer

' Формирование заголовка таблицы

Range(«A1»).Value = «Цвет»

Range(«B1»).Value = «Значение свойства ColorIndex»

' Вывод таблицы

Range(«A2»).Select

For intColor = 1 To 56

' Окрашиваем ячейку столбца "A" в текущий цвет

With ActiveCell.Interior

.ColorIndex = intColor

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

End With

' В ячейку столбца "B" вносим индекс текущего цвета

ActiveCell.Offset(0, 1).Value = intColor

' Переходим на следующую строку

ActiveCell.Offset(1, 0).Activate

Next

' Покажем ячейку «A1» (начало таблицы)

Range(«A1»).Select

ActiveWindow.ScrollRow = 1

End Sub

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

Рис. 3.24. Таблица цветов


В столбце А данной таблицы отображается перечень цветов, а в столбце В – соответствующие им значения свойства Colorlndex. На рисунке показан лишь фрагмент таблицы, поскольку полностью она состоит из 56 строк.

Создание калькулятора

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

Листинг 3.78. Создание калькулятора

Sub SimpleCalculator()

Dim strExpr As String

' Ввод выражения

strExpr = InputBox(«Что будем считать?»)

' Подсчет и вывод результата

MsgBox strExpr & " = " & Application.Evaluate(strExpr)

End Sub

После выполнения данного макроса появится окно, изображенное на рис. 3.25.

Рис. 3.25. Калькулятор


В данном окне с клавиатуры следует ввести выражение, значение которого необходимо вычислить, и нажать кнопку ОК либо клавишу Enter. Результат расчета будет показан в информационном окне (рис. 3.26).

Рис. 3.26. Результат расчета


Если строку макроса strExpr = InputBox («Что будем считать?») написать в виде, например, strExpr = InputBox («Быстрое вычисление»), то окно ввода выражения будет выглядеть, как на рис. 3.27.

Рис. 3.27. Замена текста


Окно результата расчета при этом не изменится (рис. 3.28).

Рис. 3.28. Окно результата расчета

Еще о создании пользовательских меню

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