" и VBA

Программирование на Visual Basic for Applications
78952
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.03.2006 (Пт) 16:08
Откуда: russia, murmansk

" и VBA

Сообщение 78952 » 17.03.2006 (Пт) 16:45

Код: Выделить всё
Private Sub TextBox1_Change()
Dim s As String
Dim i As Integer
s = TextBox1.Text
ListBox1.ListIndex = -1
If TextBox1.Text = "" Then
Exit Sub
End If
For i = 0 To ListBox1.ListCount - 1
If UCase(ListBox1.List(i)) Like UCase(s & "*") Then
ListBox1.ListIndex = i
Exit Sub
End If
Next
End Sub

Есть такой код, но проблема в том, что названия в листбоксе в кавычках, а набирать каждый раз кавычки не очень прикольно, я хотел, чтобы он сравнивал вместе с ними, но это не так просто!! подскажите как можно это осуществить?
Т.е. нужно чтобы в текстбоксе обычный текст, а сравнивать с листбоксом, как будто я набрал с кавычками впереди?!?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.03.2006 (Пт) 16:52

Что именно вызывает проблему у автора сего концептуального вопроса - обрамление строки в кавычки?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 17.03.2006 (Пт) 17:01

GSerg :thumleft:

Код: Выделить всё
Private Sub TextBox1_Change()
Dim s As String
Dim i As Integer
s = TextBox1.Text
ListBox1.ListIndex = -1
If len(s)= 0 Then
Exit Sub
End If
For i = 0 To ListBox1.ListCount - 1
If UCase(ListBox1.List(i)) Like UCase(""" & s & "*") Then
ListBox1.ListIndex = i
Exit Sub
End If
Next
End Sub

Подойдет???
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 17.03.2006 (Пт) 17:34

Только там как минимум 4 кавычки должно быть, не три. И закрывающей кавычки, возможно, не хватает.
Быть... или не быть. Вот. В чём вопрос?

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 17.03.2006 (Пт) 17:47

Черт! Такую дезинформацию пустил. :oops:
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

78952
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 03.03.2006 (Пт) 16:08
Откуда: russia, murmansk

Сообщение 78952 » 19.03.2006 (Вс) 15:09

Код: Выделить всё
Private Sub TextBox1_Change()
Dim s As String
Dim i As Integer
s = chr$(34) & TextBox1.Text
ListBox1.ListIndex = -1
If TextBox1.Text = "" Then
Exit Sub
End If
For i = 0 To ListBox1.ListCount - 1
If UCase(ListBox1.List(i)) Like UCase(s & "*") Then
ListBox1.ListIndex = i
Exit Sub
End If
Next
End Sub

вот нашлось решение :)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65

    TopList