Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2010, 19:59   #11
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Например так проще, вообще без выделения пытался под Вашу задачу с циклом сделать:
Код:
Sub abcd()
    ind2 = 1    'начинать с нуля в этом примере нельзя! (Cells(ind2, 1) не пройдёт с 0)

    For ind = 1 To 10    'цикл по листу, что ищем
        x = Sheets(1).Cells(1, ind).Value
        Set y = Sheets("database").Cells.Find(What:=x, LookIn:= _
                                              xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
                                              xlNext, MatchCase:=False)
        If Not y Is Nothing Then 'обезопасимся от ненахождения
            Sheets("update").Cells(ind2, 1).Value = Sheets("database").Cells(y.Row, y.Column).Value
            ind2 = ind2 + 1
        End If
    Next
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 05.09.2010, 20:10   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ах да, там ведь надо пока есть значения... Тогда так например:
Код:
Sub abcde()
    ind2 = 1    'начинать с нуля в этом примере нельзя! (Cells(ind2, 1) не пройдёт с 0)
x = 1
    While x <> ""
    ind = ind + 1
        x = Sheets(1).Cells(1, ind).Value
        Set y = Sheets("database").Cells.Find(What:=x, LookIn:= _
                                              xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
                                              xlNext, MatchCase:=False)
        If Not y Is Nothing Then 'обезопасимся от ненахождения
            Sheets("update").Cells(ind2, 1).Value = Sheets("database").Cells(y.Row, y.Column).Value
            ind2 = ind2 + 1
        End If
   Wend
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение на другом листе и подставить значение следующей ячейки ElenaNTro Microsoft Office Excel 12 11.02.2019 12:44
очистка буфера обмена beegl Общие вопросы Delphi 21 04.01.2017 11:01
Как узнать что в содержимое буфера обмена добавилось что либо? zotox Общие вопросы Delphi 2 15.09.2009 12:07
Контроль буфера обмена AndrzejX Общие вопросы Delphi 8 20.02.2009 07:30