Все. Я новичок в VBA и MS EXCEl 2010. Я только начал играть с макромодулем в EXCEL вчера, почти нулевой опыт.Excel VBA Найти функцию побочного эффекта?
То, что я пытаюсь сделать, описано ниже. Сначала найдите записи значений в диапазоне в sheet1, затем для каждой найденной ячейки я найду эту строку и вытащил другое значение ячейки в этой строке. Используя это значение, выполните другой поиск в диапазоне в sheet2. Я укажу на проблему, которая возникает после моего кода. Вот pesudcode.
Dim Found As Range
With RangeInSheet1
Set Found = .Find(value1)
If Not Found Is Nothing Then
firstAddress = Found.Address
Do
With RangeInSheet2
ColumnIndex = .Find(value2).Column
End With
Set Found = .FindNext(Found)
Loop While Not Found Is Nothing And Found.Address <> firstAddress
End If
End With
value1 ключ я использовал для поиска в RangeSheet1 и значение2 в RangeSheet2. Вышеприведенный код проходит через каждую запись, которую я нашел для value1 в листе 1, и выполняет другой поиск в Sheet2.
Теперь давайте скажем value1 = 1, value2 = 2007 и есть 5 записей, содержащих значение 1 в листе 1. Проблема возникает из этой строки кода «ColumnIndex = .Find (value2) .Column».
Предположительно, для всех пяти найденных записей значение Найденного всегда должно быть 1 после выполнения «Set Found = .FindNext (Найдено)». Но после того, как я добавил этот код ColumnIndex, значение Found установлено в 2007, что для меня так странно. Кто-нибудь знает, в чем проблема? Любая помощь будет оценена. Мне действительно нужно, чтобы «Найдены» ведут себя «нормально», как я хочу.
Если что-то неясно, пожалуйста, дайте мне знать