×
Traktatov.net » Excel. Трюки и эффекты » Читать онлайн
Страница 79 из 146 Настройки

ActiveWindow.Caption = ThisWorkbook.Name

End Sub

Этот макрос отменяет и изменения в заголовке, и ввод дополнительного текста после заголовка.

Ввод данных с помощью диалогового окна

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

Листинг 3.12. Диалоговое окно ввода данных

Sub InputDialog()

Dim strInput As String

' Вызов стандартного диалогового окна ввода данных

strInput = InputBox(«Введите данные», «Ввод данных»)

End Sub

При запуске этого макроса на экране отобразится диалоговое окно (рис. 3.5).

Рис. 3.5. Диалоговое окно ввода данных


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

Листинг 3.13. Значение по умолчанию

Sub NewInputDialog()

Dim strInput As String

' Вызов стандартного диалогового окна ввода со значением _

по умолчанию

strInput = InputBox(«Введите данные», «Ввод данных», _

«Значение по умолчанию», 200, 200)

End Sub

Окно, выводимое на экран при выполнении данного макроса, представлено на рис. 3.6.

Рис. 3.6. Текст по умолчанию в окне ввода данных


Работа в данном окне ведется по обычным правилам Windows.

Применение функции без ввода ее в ячейку

При необходимости можно воспользоваться стандартной функцией Excel таким образом, что вводить ее в ячейку будет не обязательно. Для этого достаточно запустить следующий макрос (листинг 3.14).

Листинг 3.14. Применение функции без ввода в ячейку

Sub Func()

[a1] = Application.Sum([B5:B10])

End Sub

Результатом работы данного макроса будет сумма диапазона ячеек В5:В10, отображаемая в ячейке А1.

Скрытие строк и столбцов от посторонних

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

Чтобы скрыть строку под определенным номером, можно применить следующий макрос (листинг 3.15).

Листинг 3.15. Скрытие строки

Sub HideString()

Rows(2).Hidden = True

End Sub

В результате применения этого макроса будет скрыта строка 2.

Можно использовать также такой макрос (листинг 3.16).

Листинг 3.16. Скрытие нескольких строк

Sub HideStrings()

Rows(«3:5»).Hidden = True

End Sub

После его выполнения будут скрыты строки 3, 4 и 5.

Чтобы вновь отобразить скрытую строку (или строки), необходимо в соответствующих макросах изменить значение True на False, после чего запустить их на выполнение.

Похожие макросы используются для управления отображением столбцов). Например, в результате выполнения макроса, код которого приведен в листинге 3.17, будет скрыт столбец В.

Листинг 3.17. Скрытие столбца

Sub HideCollumn()

Columns(2).Hidden = True

End Sub

Если в данном макросе заменить 2, например, на С, то будет скрыт столбец С (то есть в коде макроса можно указывать как порядковый номер столбца, так и соответствующую ему букву).