Sub InsertCustomText()
' Заполнение текущей ячейки
ActiveCell = «Генеральный директор»
Selection.Font.Bold = True
' Фамилия на три столбца правее должности
Cells(ActiveCell.Row, ActiveCell.Column + 3).Select
ActiveCell.FormulaR1C1 = «А. Б. Рублев»
Selection.Font.Bold = True
' Ячейка с «Главный бухгалтер» на три столбца левее _
и на три строки ниже ячейки с фамилией директора
Cells(ActiveCell.Row + 3, ActiveCell.Column – 3).Select
ActiveCell = «Главный бухгалтер»
Selection.Font.Bold = True
' Фамилия на три столбца правее должности
Cells(ActiveCell.Row, ActiveCell.Column + 3).Select
ActiveCell = «Т. С. Копейкин»
Selection.Font.Bold = True
End Sub
После выполнения данного макроса соответствующий текст будет вставлен в том месте документа, где расположен курсор (рис. 3.21).
Рис. 3.21. Вставка текста в документ
Очевидно, что с помощью приведенного выше макроса можно вставлять в текущий документ любой произвольный текст.
Вызов окна настройки шрифта
С помощью небольшого макроса можно вызывать окно настройки параметров шрифта. Код этого макроса выглядит так (листинг 3.68).
Sub ShowFontDialog()
' Вызов стандартного окна настройки шрифта текущей ячейки
Application.Dialogs(xlDialogActiveCellFont).Show
End Sub
После его выполнения откроется окно Формат ячеек, в котором выполняются необходимые действия. Заданные в данном окне настройки применяются к ячейке, в которой установлен курсор.
Вывод информации о текущем документе
Чтобы быстро вывести на экран информацию об имени текущего файла, названии текущего рабочего листа и количестве листов в текущей рабочей книге, можно использовать макрос, код которого приведен в листинге 3.69.
Sub ShowInfo()
Dim i As Integer
' Выводим имя файла рабочей книги
Range(«A1») = ActiveWorkbook.Name
' Выводим имя текущего листа
Range(«B1») = ActiveSheet.Name
' Выводим номера листов
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveSheet.Cells(i, 3) = i
Next i
End Sub
Результат выполнения макроса представлен на рис. 3.22.
Рис. 3.22. Информация о текущем файле
В данном случае в ячейке А1 отображается имя текущего файла, в ячейке В1 – имя активного рабочего листа, а в столбце С – информация о количестве рабочих листов в текущей книге.
Вывод результата расчетов в отдельном окне
Выполнив несложный трюк, можно вывести результат расчетов, полученный с помощью формулы, в отдельном информационном окне. Для этого можно создавать самые разнообразные макросы (в зависимости от сложности расчета, содержимого ячеек и формул и т. д.). В листинге 3.70 приведен пример одного из таких макросов.
Sub ResultToWindow()
' Переходим на первый лист
Worksheets(1).Activate
' Заносим в ячейки данные
Range(«A2») = 5
Range(«A3») = «=A2+3»
' Выводим результат расчета
MsgBox Range(«A3»).Formula + " = " + str(Range(«A3»).Value)
End Sub
Результат выполнения данного макроса показан на рис. 3.23.
Рис. 3.23. Формула и результат
Кроме того, после выполнения макроса в ячейке А2 появится значение 5, а в ячейке A3 – 8.
Вывод разрешения монитора