Страницы: 1
RSS
Макрос поиска в столбце
 
Здравствуйте.    
Подскажите как написать такой макрос который бы находил число которое введено на Лист1 в ячейку A1.  
 
Искать он должен его на Листе2 в столбце A, и если найдет то выделит сроку где это число содержится.  
 
Спасибо.
 
Запускаем макрос при активном Лист2:  
Sub Макрос1()  
Dim Rng As Range, iValue  
iValue = Sheets("Лист1").Cells(1, 1)  
Set Rng = Columns(1).Find(what:=iValue, LookIn:=xlValues, lookAt:=xlWhole)  
If Not Rng Is Nothing Then Rng.EntireRow.Select  
End Sub
 
Sub Test()  
Dim Rng As Range, iVal As Variant 'объявляем 2 переменные  
 
   iVal = Sheets("Лист1").Range("A1") 'запоминаем значение из ячейка А1 листа Лист1  
   Set Rng = Sheets("Лист2").Columns(1).Find(iVal, , xlFormulas, xlWhole) 'осуществляем поиск. Вместо xlWhole, можно использовать xlPart  
   If Rng Is Nothing Then 'если ничего не нашли, то выводим сообщение  
       MsgBox "Значение " & iVal & " не найдено в столбце А на Лист2", vbExclamation, "Ошибка"  
       Exit Sub  
   End If  
   'если нашли, то  
   Sheets("Лист2").Activate 'активируем Лист2  
   Rng.Select 'выделяем ячейку с найденным значением  
End Sub
 
А если будет 2 и более одинаковых значений, какую строку он выделит?  
 
{quote}{login=}{date=07.12.2011 09:59}{thema=}{post}Sub Test()  
Dim Rng As Range, iVal As Variant 'объявляем 2 переменные  
 
   iVal = Sheets("Лист1").Range("A1") 'запоминаем значение из ячейка А1 листа Лист1  
   Set Rng = Sheets("Лист2").Columns(1).Find(iVal, , xlFormulas, xlWhole) 'осуществляем поиск. Вместо xlWhole, можно использовать xlPart  
   If Rng Is Nothing Then 'если ничего не нашли, то выводим сообщение  
       MsgBox "Значение " & iVal & " не найдено в столбце А на Лист2", vbExclamation, "Ошибка"  
       Exit Sub  
   End If  
   'если нашли, то  
   Sheets("Лист2").Activate 'активируем Лист2  
   Rng.Select 'выделяем ячейку с найденным значением  
End Sub{/post}{/quote}
 
Первую
 
Спасибо добрый человек!
Страницы: 1
Наверх