.Find - как ее победить ?

Программирование на Visual Basic for Applications
okorolev
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 28.07.2005 (Чт) 23:45
Откуда: Алматы, Казахстан

.Find - как ее победить ?

Сообщение okorolev » 04.08.2005 (Чт) 21:02

Добрый день !
Есть вот такой код:

Код: Выделить всё
Private Sub VendorEnterButton_Click()
               
    If BarCodeVendorTextBox.Text = "" Then
       BarCodeVendorTextBox.SetFocus
       InfVendorLabel.Caption = "Enter The BarCode"
       Exit Sub
    Else
    If QuanVendorTextBox = "" Then
       QuanVendorTextBox.SetFocus
       InfVendorLabel.Caption = "Enter The Quantity"
       Exit Sub
       Else
       With Worksheets("All").Range("d3:d2000")
       Set c = .Find(BarCodeVendorTextBox.Text, LookIn:=xlValues)
       If c Is Nothing Then
           InfVendorLabel.Caption = "Enter The New Goods With BarCode"
           Exit Sub
       End If
       Unload VendorForm
   
    End With
       firstAddress = c.Address(RowAbsolute:=False, _
                                ColumnAbsolute:=False)
       Set Vtext = QuanVendorTextBox
       Worksheets("All").Activate
       Range(firstAddress).Activate
       tbl = ActiveCell.Cells.Row
             
       VtextCol = Worksheets("All").Cells(tbl, 5)
       VtextCol = VtextCol + Vtext
       
       Worksheets("All").Cells(tbl, 5).Value = VtextCol
             
                     
    End If
       
    End If
   

End Sub


Когда я выполняю поиск функцией .Find , программа ищет, но если в тексте есть 2 похожих слова, например "12345" и "2345" он выбирает "12345", хотя я ищу "2345". Как сделать так, чтобы он искал только то, что я набрал ?
Спасибо !
Самый лучший сок - это пиво !!!

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 04.08.2005 (Чт) 22:12

вот твоё решение

Код: Выделить всё
Cells.Find(What:="23", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate


народ в таких простых вопросах пользуйтесь записью макросов
тебе нужна вот эта команда: LookAt:=xlWhole

okorolev
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 28.07.2005 (Чт) 23:45
Откуда: Алматы, Казахстан

Сообщение okorolev » 05.08.2005 (Пт) 16:26

Спасибо тебе большое, все работает...
Я так и знал, что это как-то все просто должно быть...
Самый лучший сок - это пиво !!!


Вернуться в VBA

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

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

    TopList