Уважаемые корифеи написания програмного кода)
Есть диапазон:
1 апельсин
2 груша
3 яблоко
4 апельсин
....и т.д. (2 столбца)
Есть следующий код поиска в диапазоне (брал с форума. Но где, до сих пор найти не могу):
-начинаем вводить текст в окно поиска, выполняется следующее:
-поиск с выводом искомого значения в ListBox1
-при клике на найденые данные, в [a1] выводится найденое значение из ListBox1
НАДО: чтобы в [a1] выводился № найденого значения из диапазона. Например - (rFndRng.Offset(0,-1).Value). Куда добавить этот сдвиг? Пытался создать 2 столбца в ListBox1 (во втором коде после DO), первому присвоить (rFndRng.Offset(0,-1).Value) с шириной 0 чтоб не отображался, во втором (rFndRng). Тогда Private Sub ListBox1_Click наверное бы сработал...
Но очень туго с синтаксисом - не вышло... Помогите
P.S. - простите, если дублирую тему)
P.S.2 - в диапазоне бывают одинаковые значения в 2 столбце, поэтому строго нужен их номер из 1 столбца диапазона в ячеку [a1].
Есть диапазон:
1 апельсин
2 груша
3 яблоко
4 апельсин
....и т.д. (2 столбца)
Есть следующий код поиска в диапазоне (брал с форума. Но где, до сих пор найти не могу):
Код |
---|
Private Sub ОКНО_ПОИСКА_Change() Call Find_Value(ОКНО_ПОИСКА.Value & "*", Range("ДИАПАЗОН")) End Sub |
-начинаем вводить текст в окно поиска, выполняется следующее:
Код |
---|
End SubPrivate Sub Find_Value(sValue As String, rFindRange As Range) If sValue = "*" Then ListBox1.Clear: Exit Sub Dim rFndRng As Range Dim sAddress As String Set rFndRng = rFindRange.Find(what:=sValue, LookIn:=xlValues, lookat:=xlWhole) If rFndRng Is Nothing Then Exit Sub ListBox1.Clear sAddress = rFndRng.Address Do ListBox1.AddItem rFndRng Set rFndRng = rFindRange.FindNext(rFndRng) Loop While sAddress <> rFndRng.Address End Sub |
-поиск с выводом искомого значения в ListBox1
Код |
---|
Private Sub ListBox1_Click() On Error Resume Next [a1] = Range("ДИАПАЗОН").Find(what:=ListBox1.Value, LookIn:=xlValues, lookat:=xlWhole).Value |
-при клике на найденые данные, в [a1] выводится найденое значение из ListBox1
НАДО: чтобы в [a1] выводился № найденого значения из диапазона. Например - (rFndRng.Offset(0,-1).Value). Куда добавить этот сдвиг? Пытался создать 2 столбца в ListBox1 (во втором коде после DO), первому присвоить (rFndRng.Offset(0,-1).Value) с шириной 0 чтоб не отображался, во втором (rFndRng). Тогда Private Sub ListBox1_Click наверное бы сработал...
Но очень туго с синтаксисом - не вышло... Помогите
P.S. - простите, если дублирую тему)
P.S.2 - в диапазоне бывают одинаковые значения в 2 столбце, поэтому строго нужен их номер из 1 столбца диапазона в ячеку [a1].