Помогите с поиском в Exel
От: D_o_c_t_o_r  
Дата: 25.03.04 22:33
Оценка:
Можно ли,сделать ячейку или форму,чтобы при наборе символов в ней происходил поиск по алфавиту без выборки,т.е. проосто переход к полям
этого ряда,без выборки вроде автофильтра. Как например в каком-нибудь электронном словаре.

Вот пример в присоединенном файле:
В единственном ряду названия городов.
Вверху TextBox
Хотелось бы так ,чтобы когда я пишу в TextBoxe'е
(он закреплен и не сдвигается скроллом),
в окне было видно именно этот город,причем название города в текстбоксе может быть введено не до конца.

Помогите с кодом на VB,очень надо...
Re: Помогите с поиском в Exel
От: Q2Baklan Россия  
Дата: 26.03.04 07:56
Оценка:
Здравствуйте, D_o_c_t_o_r, Вы писали:


D__>Можно ли,сделать ячейку или форму,чтобы при наборе символов в ней происходил поиск по алфавиту без выборки,т.е. проосто переход к полям

D__>этого ряда,без выборки вроде автофильтра. Как например в каком-нибудь электронном словаре.

D__>Вот пример в присоединенном файле:

D__>В единственном ряду названия городов.
D__>Вверху TextBox
D__>Хотелось бы так ,чтобы когда я пишу в TextBoxe'е
D__>(он закреплен и не сдвигается скроллом),
D__>в окне было видно именно этот город,причем название города в текстбоксе может быть введено не до конца.

D__>Помогите с кодом на VB,очень надо...



Приветик! По твоему вопросу я так понял что где-то должен лежать пример НЕ нашел!
Если я тебя правильно понял то вот погляди...
Может быть есть и др. способ но я пока такого не заню.
Да а не проще твои данные в Access'овскую Базу перекинуть и там с ними колбаситься там будет проще с поиском

Option Explicit

Public objExcel As Object
Public objWorkbook As Object
Public objWorksheet As Object
Public x As Long

Private Sub cmdStart_Click()
    Unload Me
End Sub

Private Sub Form_Load()

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add(App.Path & "\List_1.xls")
objExcel.Visible = True
Set objWorksheet = objWorkbook
End Sub

Private Sub Form_Unload(Cancel As Integer)
objExcel.displayalerts = False
objExcel.Quit
Set objExcel = Nothing
End Sub

Private Sub Text1_Change()

Dim i As Long
Dim lenStr As Long

x = UBound(objWorksheet.ActiveSheet.UsedRange.Value)
lenStr = Len(Text1.Text)

For i = 1 To x
    If Left(objExcel.Cells(i, 1), lenStr) = Text1.Text Then
        label1.Caption = objExcel.Cells(i, 1)
        objExcel.Cells(i, 1).Select
        Exit For
    End If
Next i

End Sub
Нельзя смеяться над патриархами.

"Патриархи"

nnnnn
| — _ |
| O o |
[ '\(_) /`]
\___/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.