Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/63: Рейтинг темы: голосов - 63, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 19.10.2011
Сообщений: 11

Поиск адреса ячейки по условию

20.10.2011, 09:19. Показов 12278. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Недавно стала писать макросы. Помогите пожалуйста с кодом, а то уже голову сломала.
Задача заключ в следующем. Данные разбиты по сгруппированным ячейкам. Необходимо найти в первом столбце ячейку удовл. условию. Определить кол-во ячеек вход. в группировку и скопировать эти ячейки в другй файл.
Пыталась сделать через 2 цикла, первый находит необходимую ячейку по условию, через счетчик узнаем № строки, а потом начинается второй цикл в котором определ кол-во ячеек вход в группировку. Написала только 1 цикл поиска ячейки, но № строки выводится неправильно. Не могу понять в чем ошибка.

Visual Basic
1
2
3
4
5
6
7
For i = 1 To 1000
i = i + 1
If Application.Workbooks.ActiveSheet.Cells(i, 1).Value = "CЭР" Then Exit For
 
Application.Workbooks.ActiveSheet.Range("A1002") = i ' Для проверки выводит № строки в данную ячейку  
Next i
End If
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.10.2011, 09:19
Ответы с готовыми решениями:

Excel. Определение адреса ячейки по условию поиска и адрес следующей после нее
Здравствуйте. Все что смог найти по данному вопросу это как определить адрес формулами, а нужно vba. Потому пишу сюда. Имеется список в...

Поиск текста с выводом адреса ячейки
Добрый вечер, специалисты по экселю. Помогите разобраться с проблемой. В книге несколько листов. На листах 1,2,3,4 в некоторых...

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

4
исследователь
325 / 104 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
20.10.2011, 09:49
Во первых зачем тут
Visual Basic
1
i = i + 1
переменная цикла и так автоинкрементируется.

Добавлено через 3 минуты
Вместо
Цитата Сообщение от Olga_M Посмотреть сообщение
Visual Basic
1
If Application.Workbooks.ActiveSheet.Cells(i, 1).Value = "CЭР" Then Exit For
просто
Visual Basic
1
If ActiveSheet.Cells(i, 1).Value = "CЭР" Then Exit For
аналогично и ниже

Добавлено через 5 минут
Цитата Сообщение от Olga_M Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
7
For i = 1 To 1000
i = i + 1
If Application.Workbooks.ActiveSheet.Cells(i, 1).Value = "CЭР" Then Exit For
 
Application.Workbooks.ActiveSheet.Range("A1002") = i ' Для проверки выводит № строки в данную ячейку  
Next i
End If
Visual Basic
1
2
3
4
5
6
For i = 1 To 1000
If ActiveSheet.Cells(i, 1).Value = "CЭР" Then
       Exit For
End If
Next i
ActiveSheet.Range("A1002") = i ' Для проверки выводит № строки в данную ячейку
Хотя я не совсем понял про сгрупированные ячейки.
0
1 / 1 / 0
Регистрация: 19.10.2011
Сообщений: 11
20.10.2011, 09:54  [ТС]
Условие почему-то не выполняется! Цикл не останавливается! В проверяемой ячейке видно пересчет строк и конечный результат 1000, т.е цикл остан когда проходит до конца.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
20.10.2011, 10:01
Olga_M,
в этом примере диапазон выделяется. Вместо выделения вставьте нужную команду.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Olga_M()
Dim i&, j&, lastRow&
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
    If Cells(i, 1) = "СЭР" Then
        For j = i + 1 To lastRow
            If Cells(j, 1) <> "СЭР" Then Exit For
        Next
        Range(Cells(i, 1), Cells(j - 1, 1)).Select
        Exit For
    End If
Next
End Sub
1
1 / 1 / 0
Регистрация: 19.10.2011
Сообщений: 11
20.10.2011, 10:15  [ТС]
Добавлено через 9 минут
Огромнейшее вам спасибо!!!!!!!!!!!!!!!!!!!!!!!!
Все работает! :yahoo:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2011, 10:15
Помогаю со студенческими работами здесь

Откорректировать макрос так, чтобы поиск осуществлялся не с ячейки А1, а с ячейки C21
Как в этом макросе прописать, чтобы поиск осуществлялся в столбике &quot;С&quot;, но с 21-ой строки? Sub asd() Dim c As Range Set c =...

Определение адреса ячейки
Для поиска нужного значения в определённом диапазоне ячеек использую конструкцию типа: Set XXX = Range(&quot;An:Bn&quot;).Find(What:=Y,...

Определение адреса ячейки гиперссылки
Здравствуйте. Столкнулся со следующей проблемой. Есть книга Excell, в которой есть лист с гиперссылками. Необходимо программно...

Последовательный выбор адреса ячейки из диапазона
Здравствуйте. Вот такой вопрос у меня. По листу в хаотическом порядке ползают цифры - если щелкать по кнопке. В столбце AF -...

Сцепить ячейки по условию
Доброго времени суток, Находил похожее, но у меня совсем другое условие https://www.cyberforum.ru/ms-excel/thread809111.html ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru