Вот некоторый демонстрационный код:
Sub WhereIsIt()
Dim s1 As Worksheet, s2 As Worksheet
Dim BottomRow As Long, i As Long, v As Variant
Dim Tabl As Range, r As Range
Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")
Set Tabl = s2.Range("A1:GR19000")
BottomRow = s1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To BottomRow
v = s1.Cells(i, 1).Value
Set r = Tabl.Find(What:=v, After:=Tabl(1, 1))
If r Is Nothing Then
s1.Cells(i, 2).Value = "Not Found"
Else
s1.Cells(i, 2).Value = r.Address(0, 0)
End If
Next i
End Sub
Где Sheet1
имеет список, а Sheet2
имеет таблицу.
EDIT # 1:
Макросы очень просто установить и использовать:
- ALT-F11 открывает окно VBE
- ALT-I
ALT-M открывает новый модуль
- вставьте материал и закройте окно VBE
Если вы сохраните книгу, макрос будет сохранен вместе с ней.
Если вы используете версию Excel позже, чем 2003, вы должны сохранить
файл в формате .xlsm, а не .xlsx
К Удалить Макрос:
- вызвать окно VBE, как указано выше
- очистить код
- закрыть окно VBE
Для используйте макрос из окна Excel:
- ALT-F8
- Выберите макрос
- Сенсорный RUN
Чтобы узнать больше о макросах в целом, см .:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
и
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Для работы должны быть включены макросы!