макрос Excel и выборка данных

Программирование на Visual Basic for Applications
Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

макрос Excel и выборка данных

Сообщение Shasha » 03.03.2010 (Ср) 19:12

Всем привет!
Прошу помочь в написании макроса или простом совете...
если некаба БД в экселе

Л/С ФИО Род
20 Иванов А.А. Студент
20 Иванов А.В. Пенсионер
20 Сидоров А.О. Пенсионер
77 Петров П.П. Пенсионер
77 Петенко В.Ы. Пенсионер
...
Что нужно: Семьи обьединены/обозначены Лицевым Счетом, необходимо подсчитать кол-во семей в которых есть только пенсионеры (в моем примере это л/с 77)

Что я делал: циклом пробегаю по списку и сравниваю,первую со второй строкой (л/с), затем вторую с третьей и т.д. таким образом я определяю пределы семьи, и если есть в семье пенсионер ставлю счетчику +1 если нет то минус

Проблема моего макроса: если в коце семьи два пенсионера подрят то они попадают в "выборку"

долблюсь который день и никак не могу подсчитать кол-во семей, как только не писал макрос, ничего не выходит, подскажите примером или хотя бы советом, зарание всем благодарен...
С Уважением,
Shasha

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: макрос Excel и выборка данных

Сообщение alibek » 03.03.2010 (Ср) 22:32

Вообще-то это делается с помощью сводных таблиц.
Но судя по тому, как ты ставишь вопрос, ты сам не знаешь, чего хочешь.
Lasciate ogni speranza, voi ch'entrate.

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Re: макрос Excel и выборка данных

Сообщение Shasha » 04.03.2010 (Чт) 9:21

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


и что же не понятного в задаче?
Что нужно: Семьи обьединены/обозначены Лицевым Счетом, необходимо подсчитать кол-во семей в которых есть только пенсионеры (в моем примере это л/с 77)

можеш подсказать как это сделать через сводные таблицы?
П.С. я уже открывал их и ковырял и буду сейчас рабираться....но вижу я это дело впервые и не пойму как это сделать...
С Уважением,
Shasha

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Re: макрос Excel и выборка данных

Сообщение Shasha » 04.03.2010 (Чт) 10:00

Всё, сделал сам макрос...спасибо alibek котрый как обычно вместо совета по ворчал =)
С Уважением,
Shasha

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: макрос Excel и выборка данных

Сообщение alibek » 04.03.2010 (Чт) 11:08

Shasha писал(а):и что же не понятного в задаче?

Если тебе нужно посчитать только пенсионеров, тогда непонятно, какая тут связь с этим:
Что я делал: циклом пробегаю по списку и сравниваю,первую со второй строкой (л/с), затем вторую с третьей и т.д. таким образом я определяю пределы семьи, и если есть в семье пенсионер ставлю счетчику +1 если нет то минус
Lasciate ogni speranza, voi ch'entrate.

Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

Re: макрос Excel и выборка данных

Сообщение Shasha » 05.03.2010 (Пт) 15:10

alibek писал(а):
Shasha писал(а):и что же не понятного в задаче?

Если тебе нужно посчитать только пенсионеров, тогда непонятно, какая тут связь с этим:
Что я делал: циклом пробегаю по списку и сравниваю,первую со второй строкой (л/с), затем вторую с третьей и т.д. таким образом я определяю пределы семьи, и если есть в семье пенсионер ставлю счетчику +1 если нет то минус

забиваю метку пенсионеров = 0.
В пределах семьи делаем проверку, если есть пенсионер, то +1, смотрим дальше, если не пенсионер - ставим -100...в семьях больше 10 человек не бывает, как только лицевой счет следающий и настоящий разнятся - кончилась семья, значит делаем проверку, если метка больше 1 значит семья состоит только из пенсионеров
С Уважением,
Shasha

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: макрос Excel и выборка данных

Сообщение alibek » 07.03.2010 (Вс) 15:48

Бред.
Проходи циклом и увеличивай счетчик c1 на один безусловно и c2 на один, если это пенсионер. Если идентификатор семьи отличается от предыдущего, значит началась новая семья; сравнивай c1 и c2, если они равны, значит семья состоит только из пенсионеров.
То же самое (по смыслу) легко сделать с помощью сводной таблицы.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37

    TopList