VBA поиск на листе

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
soulthiefer
Сообщения: 39
Зарегистрирован: 21 сен 2007, 15:05

подскажите плз функцию посика наличия значения в столбце ниже активной ячейки

пример .... :
я нахожусь на ячейке А20 , нужно просмотреть диапазон ячеек по столбцу А начиная с 21 по 65000 на наличие значения ячейки А20 , если есть то тру если нет то фальш !
желательно в одну функцию так как нужно вставить в условие if ( .....) then
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Может так?

Код: Выделить всё

Private Sub test()
    zn = [A20].Value
    For Each cell In ActiveSheet.[A21:A65000]
        If cell.Value = zn Then cell.Interior.ColorIndex = 3
    Next
End Sub
В примере ячейки со значением равным значению ячейки А20 будут залиты красным цветом.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
soulthiefer
Сообщения: 39
Зарегистрирован: 21 сен 2007, 15:05

а как вы узнали что мне нужно выделять красным цветом?))))))))
спасибо !
но интересует как искать в диапазоне не именно от ячейки А20 а в диапазоне ниже активной ячейки до А65000?
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Код: Выделить всё

[color=darkblue]Sub[/color] test()
    [color=darkblue]Dim[/color] ra [color=darkblue]As[/color] Range, cell [color=darkblue]As[/color] Range
    Application.ScreenUpdating = False: [color=darkblue]On[/color] [color=darkblue]Error[/color] [color=darkblue]Resume[/color] [color=darkblue]Next[/color]
    [color=darkblue]Set[/color] ra = Intersect(ActiveSheet.UsedRange, _
                       Range(ActiveCell.Row + 1 & ":" & Rows.Count), [a:a])
    [color=darkblue]For[/color] [color=darkblue]Each[/color] cell [color=darkblue]In[/color] ra.Cells
        [color=darkblue]If[/color] cell = ActiveCell [color=darkblue]Then[/color] cell.Interior.ColorIndex = 3
    [color=darkblue]Next[/color]
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
soulthiefer
Сообщения: 39
Зарегистрирован: 21 сен 2007, 15:05

огромнейшее спасибо за помощь!!!!!
Ответить