|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.01.2010, 20:09 | #1 |
Пользователь
Регистрация: 21.12.2009
Сообщений: 47
|
Осуществить поиск записей по двум символьным полям. Найденные записи отобразить на втором листе
у меня вот че получилось, но не работает((
подскажите в чем дело??? Sub поиск() i = 1 fam = InputBox("Введите фамилию") dol = InputBox("Введите должность") Sheets("Лист2").Activate Columns("A:A").Select Selection.ClearContents Range("A1").Select While Sheets("Лист1").Cells(i, 1) <> Empty If Sheets("Лист1").Cells(i, 1) = fam And Cells(i, 4) = dol Then Cells(i1, 1) = Sheets("Лист").Cells(i, 1) Else i = i + 1 End If Wend End Sub |
16.01.2010, 20:14 | #2 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Код:
Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru Последний раз редактировалось The_Prist; 16.01.2010 в 20:20. |
16.01.2010, 20:48 | #3 |
Пользователь
Регистрация: 21.12.2009
Сообщений: 47
|
т.е. вот так???
подскажите.... Sub поиск() fam = InputBox("Введите фамилию") dol = InputBox("Введите должность") Sheets("Лист2").Activate Columns("A:A").Select Selection.ClearContents Range("A1").Select Dim i As Long, i1 As Long While Sheets("Лист1").Cells(i, 1) <> Empty If Sheets("Лист1").Cells(i, 1) = fam And Cells(i, 4) = dol Then i1 = i1 + 1 Cells(i1, 1) = Sheets("Лист").Cells(i, 1) End If i = i + 1 Wend End Sub |
16.01.2010, 20:57 | #4 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Я предоставил два работающих кода. А в Вашем втором примере Вы не присваиваете значение переменной i.
У Вас ошибка будет на строке Код:
Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
16.01.2010, 21:26 | #5 |
Пользователь
Регистрация: 21.12.2009
Сообщений: 47
|
он почему то не выводит результат на 2 лист((
|
16.01.2010, 21:28 | #6 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
А я почем знаю? Может у Вас условие не выполняется, может первая ячейка на листе1 пустая и макрос даже и не проверяет ничего, а сразу выходит без проверок. Много вариантов. Выложите файл - можно сказать конкретней. Не хотите - пройдитесь по макросу в режиме отладки - F8.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
17.01.2010, 10:22 | #7 |
Пользователь
Регистрация: 21.12.2009
Сообщений: 47
|
|
17.01.2010, 10:34 | #8 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Вот Вам правильный код:
Код:
1. При сравнении Код:
2. Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
17.01.2010, 11:05 | #9 |
Пользователь
Регистрация: 21.12.2009
Сообщений: 47
|
спасибо)
а можно сделать так, чтобы на 2 листе отображалась не только фамилия, но и все данные??? |
17.01.2010, 11:07 | #10 | |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
Цитата:
Код:
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сощитать и отобразить в ячейке количество страниц в листе | gleod | Microsoft Office Excel | 2 | 02.08.2009 20:37 |
Фильтрация данных на втором листе по данным на первом | ppl | Microsoft Office Excel | 3 | 13.08.2008 14:07 |
Отбор по двум полям | MPa | БД в Delphi | 4 | 06.02.2008 20:14 |
Фильтрация по двум полям | Dunkas | БД в Delphi | 11 | 21.01.2008 23:59 |
Как осуществить поиск сначала по всей БД, а затем из найденных таблиц найти по полю Date нужные записи? | kayman | БД в Delphi | 1 | 21.09.2007 15:56 |