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

Гиперссылки – в виде обычного текста

В Microsoft Excel, начиная с версии 2000, осуществляется автоматическая замена текста гиперссылками, если он содержит следующие наборы символов:

• http://;

• www.;

• ftp://;

• mailto:;

• file://;

• news:;

• mail@pochta.

Однако такая автозамена не всегда удобна. Чтобы ее отменить, достаточно в качестве первого символа, вводимого в ячейку, использовать апостроф (). После нажатия Enter этот символ исчезнет и останется только введенный текст, причем он не будет преобразован в гиперссылку. На печать апостроф также не выводится.

Помещение в ячейку электронных часов

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

Листинг 2.26. Размещение в ячейке электронных часов

Sub UpdateTime()

Dim varNextCall As Variant

' Записываем в ячейку текущее время

Cells(1, 1).Value = Now

' Записываем в varNextCall время, когда вызвать этот макрос _

в следующий раз (через 1 секунду)

varNextCall = TimeSerial(Hour(Now), Minute(Now), Second(Now)

+ 1)

' Уведомляем Excel в необходимости вызова макроса

Application.OnTime varNextCall, «UpdateTime»

End Sub

После выполнения данного макроса электронные часы будут помещены в ячейку А1. Если в эту ячейку поместить курсор, то часы отобразятся также и в строке формул.

«Будильник»

Помимо электронных часов, можно настроить «будильник». Смысл данного трюка заключается в том, что в определенное время на экране отобразится окно с указанным ранее информационным сообщением (а при наличии колонок и иных сопутствующих устройств – вместе со звуковым сигналом). В листинге 2.27 приведен код макроса, который позволяет решить эту задачу.

Листинг 2.27. «Будильник»

Sub Clock()

' Уведомляем Excel, что процедуру Alarm нужно вызвать в 20:55

Application.OnTime TimeValue(«20:55:00»), «Alarm»

End Sub

Sub Alarm()

MsgBox «Пора ужинать!!!»

End Sub

После выполнения макроса Clock на экране в назначенное время (20 часов 55 минут) появится окно с сообщением Пора ужинать!!!. Следует учитывать, что для каждого последующего появления в назначенное время такого окна необходимо отдельно запускать макрос.

Поиск данных в диапазоне

Используя средства языка VBA, можно по-разному искать требуемые данные в указанном диапазоне. Рассмотрим несколько популярных способов поиска данных.

Поиск в диапазоне значения по шаблону

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

Листинг 2.28. Поиск и замена по шаблону

Sub ReplaceCellsData()

Dim cell As Range

' Просмотр всех ячеек диапазона G1:K20 и замена искомого

текста

For Each cell In [G1:K20]

If cell.Value Like «*Доход*» Then

cell.Value = «Выручка»

cell.Interior.Color = RGB(255, 255, 0)

Else

cell.Interior.Color = RGB(255, 255, 255)

End If

Next

End Sub

После выполнения данного макроса слово Доход, встречающееся в диапазоне G1:K20, заменяется словом Выручка, а соответствующие ячейки выделяются желтым цветом. Вся остальная часть диапазона заливается белым цветом (при этом содержимое всех ячеек по-прежнему отображается, а сетка исчезает).