Страница 1 из 1

Литература по "сложным" задачам в VBА?

Добавлено: 27 май 2005, 11:55
WP
Привет, всем! Посоветуйте, пж., какую-нибудь литературу с решениями "сложных" задач в VBA. В принципе, в основном меня интересует Excel. В тех книгах, которые просматривала, задачи только с известными фиксированными данными, а, например, случаи, когда расположение ячеек с нужными данными меняется не видела.

Добавлено: 02 июн 2005, 03:41
Naeel Maqsudov
Не читал книг по VBA...
А какие проблемы?

Расположение ячеек обычно задается положением курсора.
Например: Ставим курсор на первую строку и запускаем макрос - макрос "пробегает" до конца таблицы

Тут хорошо объявить переменную типа Range, присвоить ей первую обрабатываемую ячейку, а затем все обращения к ячейкам записать относительно нее.

Код: Выделить всё

dim r as range
set r = activecell.entirecolumn.cells(1) ' Это будет первая ячейка (т.е. из 
                    'колонки A) в той строке, где стоит курсот

r.range("A1")   'Это опять она же
r.range("B1")    'Это ее соседка слева
Еще частенько бывает нужно обработать ближайшую таблицу вокруг курсора
Как, к примеру, происходит когда мы ставим курсор в середину таблицы и вызываем
Данные/Сортировка, или что-нибудь другое.

Тут надо так:

set r = ActiveCell.CurrentRegion 'Это вся ближайшая таблица

r.rows(i) ' а это ее i-ая строка
r.columns(j) 'ну а это - j-ая колонка

См. следующие методы класса Range
.Range
.Offset
.Cells
.EntireRow .EntireColumn
.Rows .Columns
.Areas
.Start .End
.CurrentRegion

Когда изучите (справки по VBA вполне достаточно) все эти методы Ваш вопрос отпадет сам собой.