Страницы: 1
RSS
Цикл для поиска значения в ячейке
 
Всем доброго дня. Помогите пожалуйста с кодом для макроса. Есть один столбец который содержит значения , допустим там будут находится цифры от одного до трех, нужен цикл которы бы позволял находит из этого столбца цифру 3 , копировал значение относительно этой ячейки справа и повторял бы эту процедуру, пока не наткнулся на пустую ячейку.
 
Вы ещё не привыкли, что желательно показывать фай-пример с желаемым результатом?
 
К сожалению я с мобильного и нет возможности выложить пример.
 
А как проверите тогда? Доберётесь до компьютера - сбросьте.
 
Сброшу конечно, но по моему я и так понятно написал , проверю на  компьютере на котором нет доступа в интернет .
 
Вам лень рисовать пример? А мне лень переделывать: потом окажется, что данные не в том столбце, начинаются не с этой строки...
 
Код
dim i%

for i = 1 to cells(rows.count,1).end(xlup).row
   if cells(i,1) = cells(1,3) then cells(i,2) = cells (i,1)
nexit i



Проверяет сколько записей в 1 столбце и делает цикл на количество записей.
каждую ячейку первого столбца проверяет с ячейкой (С3) (Туда вписываете искомое значение)
и при нахождении совпадения пишет ее с права.

Вроде так... если я все правильно понял )
Изменено: Niarah - 11.10.2013 14:23:59
 
Какой столбец?
Цифры в каком формате - числа, текст, римские? :)
"копировал значение относительно этой ячейки справа" - насколько справа? Копировал и что дальше?
"пока не наткнулся на пустую ячейку" - где пустую?

Ну можно конечно сделать на наиболее вероятном варианте, или универсально - запростить у юзера выделить данные, всё перевести в текст, откинув пробелы :)
И даже копирование можно куда-то сделать (хотя вариант неочевиден) - но зачем? Наверняка ведь запросите что-то переделать.
 
Niarah, Ваш вариант может не сработать:
Цитата
пока не наткнулся на пустую ячейку.
А это совсем не обязательно последняя+1 строка)) Поэтому и прошу пример.
 
хм-м-м Тогда так! )

Код
dim i%

for i = 1 to cells(rows.count,1).end(xlup).row
   if not cells(i,1) = "" then
      if cells(i,1) = cells(1,3) then cells(i,2) = cells (i,1)
   else 
      exit sub
   end if
nexit i


как то так.
перебирает он максимум по количеству заполненных ячеек.
Если на пути перебора натыкается на пустую.. Заканчивает действие )

А так согласен пример нужен..
или хотя бы подробное описание как выглядит что еще есть и для чего нужно (хотя бы смысл)
Потому что в соседнюю ячейку он скопирует а потом окажется что это нужно куда-нибудь перенести или посчитать или еще чего.. ) и может быть это все можно сразу в макрос засунуть и не париться )
Изменено: Niarah - 11.10.2013 14:57:23
 
На самом деле попахивает студенчеством. Зачем человеку код, когда применить его не может, ибо с телефона только может зайти?
Для работы с телефона не заходят, т.к. вполне можно добраться до рабочего места, все сделать нормально. Для дома - тем более. Как правило нет таких срочных задач.
Да и сама задача выглядит ни разу не как выполненение рабочего процесса...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх