Читаем Excel. Трюки и эффекты полностью

Листинг 3.29. Количество именованных объектов

Sub CountNames()

Dim intNamesCount As Integer

' Получаем и отображаем количество имен в активной _

рабочей книге

intNamesCount = ActiveWorkbook.Names.Count

If intNamesCount = 0 Then

MsgBox «Имен нет»

Else

MsgBox "Имен: " & intNamesCount & « шт.»

End If

End Sub

Результат выполнения этого макроса выводится в информационном окне, которое показано на рис. 3.8.

Рис. 3.8. Подсчет количества имен

При необходимости можно подсчитать количество имен рабочей книги. Соответствующий макрос выглядит так (листинг 3.30).

Листинг 3.30. Количество имен рабочей книги

Sub CountNames()

Dim intNamesCount As Integer

' Получаем и отображаем количество имен на активном _

листе рабочей книги

intNamesCount = Names.Count

If intNamesCount = 0 Then

MsgBox «Имен нет»

Else

MsgBox "Имен: " & intNamesCount & « шт.»

End If

End Sub

<p>Быстрый поиск курсора</p>

Для быстрого поиска активной ячейки можно воспользоваться таким макросом (листинг 3.31).

Листинг 3.31. Поиск активной ячейки

Sub FindActiveCell()

' Выводим адрес активной ячейки

MsgBox ActiveCell.Address

End Sub

Результат поиска выводится в информационном окне, пример которого представлен на рис. 3.9.

Рис. 3.9. Адрес активной ячейки

Чтобы убрать значение абсолютной ссылки на строку и столбец, можно использовать следующий код:

MsgBox ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)

<p>Поиск начала и окончания диапазона, содержащего данные</p>

Аналогичным образом можно быстро определить диапазон листа, в котором содержатся какие-либо данные. Этот трюк удобно применять, например, когда данные разбросаны по всему листу и точно не известно, где они начинаются и где заканчиваются (а вручную просматривать весь лист долго и неудобно). Для решения подобной задачи можно применить следующий макрос (листинг 3.32).

Листинг 3.32. Поиск данных

Sub FindSheetData()

' Выводим диапазон используемых ячеек листа

MsgBox ActiveSheet.UsedRange.Address

End Sub

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

Если же необходимо определить не весь диапазон с данными, а найти лишь его начало, то можно воспользоваться макросом, код которого приведен в листинге 3.33.

Листинг 3.33. Поиск начала данных

Sub FindStartOfData()

With ActiveSheet

' Заносим текст в ячейку, являющуюся левой верхней _

ячейкой используемого диапазона

.Cells(.UsedRange.Row, .UsedRange.Column).Value = _

«Начало данных»

End With

End Sub

После выполнения данного макроса в левой верхней ячейке диапазона, содержащего данные, отобразится текст Начало данных (этот текст можно изменять по своему усмотрению). Подобный трюк удобно применять при работе с большими объемами данных, когда они разбросаны по всему рабочему листу и трудно определить точное место их начала (особенно если первые данные диапазона находятся, например, в ячейке Т350).

<p>Трюки с примечаниями</p>

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

<p>Подсчет примечаний</p>

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

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных