2013-10-15 2 views
-2

Я совершенно новый с макросами и надеюсь, что тот может помочь мне с этим. Это было бы высоко оценено.Excel макрос найти первое соответствующее значение в столбце

Это то, что я пытаюсь сделать.

У меня есть ячейки со значением в листе 1, позволяет сказать, что это клетка C2 и она равна 1234

У меня есть столбец со значениями в листе 2, позволяет сказать, что это столбец В и имеет значения (3333,1234,1234,1234,8897,8897,6675)

Я хочу макрокоманду, чтобы пройти через колонку B в sheet2 и найти первую ячейку, которая соответствует значению ячейки в ячейке C2 sheet1. Затем я хочу поместить маркер вправо.

В приведенном выше примере. Значение C2 соответствует B1 (даже если оно больше, это первое), а затем маркер помещается в B3. Обратите внимание, что я хочу остановиться, когда найдено первое соответствующее значение.

Спасибо заранее! :)

/J

+0

«Вопросы, требующие кода, должны ** демонстрировать минимальное понимание проблемы, которую нужно решить. ** Включить попытки решения, почему они не работают, и результаты * ожидаемые * См. Также: [Контрольный список вопросов переполнения стека] (http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) "и" Непонятно, что вы спрашиваете "являются Близкие причины. В дополнение к тому, что упоминалось в @Fewster, ваша первая строка в столбце B, по-видимому, содержит '3333', но вы говорите, что' 1234' соответствует B1. И вы говорите «поместите маркер на шаги вправо», тогда «маркер помещается в B3» относительно B1. – pnuts

+0

Правильно, должен быть D1. Получите поддержку ниже, спасибо! – JJJP

ответ

1

Я предполагать "стадии вправо", как два (2) шагов вправо. Надеюсь это поможет. Как и в случае с макрозаписями, есть много вещей, которые вам могут не понадобиться.

rngFound = Sheet2.Columns("B:B").Find(What:=Sheet1.Range("C2"), _ 
    After:=Range("B1"), LookIn:=xlFormulas, _ 
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
    MatchCase:=False, SearchFormat:=False).Address 

Range(rngFound).Offset(0, 2).Select 

Это может быть немного подобрано, если хотите.

+0

Отлично, спасибо! – JJJP

+0

JJJP - отметьте ответ, чтобы заработать себе +2 очков репутации! – Fewster

+0

Это старый, но он работает! Я бы выбрал ответ, если мог. благодаря –

Смежные вопросы