2014-10-01 3 views
0

제품 코드를 소개하고 설명과 가격을 반환하는 양식이 있습니다. "설명"열에서 검색하여 키워드로 제품을 찾을 수있는 또 다른 검색 조건을 추가하고 싶습니다. "find"함수가이 작업을 수행 할 수 있는지 또는 "vlookup"함수를 사용해야하는지 여부는 확실하지 않습니다. "vlookup"에서 발견 한 문제는 나머지 경기를 검색 할 수 있기를 바랍니다.Excel에서 찾기 기능 : 키워드로 검색

Option Explicit 
Dim Llave As Boolean 
Private Sub BtnBuscar_Click() 
If Not Sheet1.Range("C1:C211").Find(Me.DatoBuscado, LookIn:=xlValues, LookAt:=xlWhole) Is Nothing Then 
If Llave Then 
    Cells.FindNext(After:=ActiveCell).Select 
    Fila.Caption = ActiveCell.Row 
    Dato1.Caption = ActiveCell.Value 
    Dato2.Caption = ActiveCell.Offset(0, 1).Value 
    Dato3.Caption = ActiveCell.Offset(0, 2).Value 
    Dato4.Caption = ActiveCell.Offset(0, 4).Value 

Else 
Sheet1.Range("C1:C211").Find(Me.DatoBuscado, LookIn:=xlValues, LookAt:=xlWhole).Select 
Fila.Caption = Sheet1.Range("C:C").Find(Me.DatoBuscado, LookIn:=xlValues, LookAt:=xlWhole).Row 
Dato1.Caption = Sheet1.Range("C:C").Find(Me.DatoBuscado, LookIn:=xlValues, LookAt:=xlWhole).Value 
Dato2.Caption = Sheet1.Range("C:C").Find(Me.DatoBuscado, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Value 
Dato3.Caption = Sheet1.Range("C:C").Find(Me.DatoBuscado, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2).Value 
Dato4.Caption = Sheet1.Range("C:C").Find(Me.DatoBuscado, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 4).Value 
Llave = True 
End If 

Else 
    Dato1.Caption = " " 
    Dato2.Caption = " " 
    Dato3.Caption = " " 
    Dato4.Caption = " " 
    Fila.Caption = " " 
    MsgBox "Dato Inexistente", 64, "" 
End If 
End Sub 



Private Sub Dato1_Click() 

End Sub 

Private Sub Dato3_Click() 

End Sub 

Private Sub Fila_Click() 

End Sub 

Private Sub UserForm_Initialize() 
Llave = False 
End Sub 

은 그래서 검색 폼 워크 시트 (shee1)의 버튼을 클릭했을 때 팝업 (정의 폼)이다 : 이것은 내가 그 순간에 작업 한 코드입니다.

미리 감사드립니다.

나탈리아.

답변

0

find에 의해 반환 된 범위가 무효가 될 때까지 찾기를 UNTIL 루프에서 사용하고 해당 루프를 사용하여 목록 상자를 채우는 것이 좋습니다. 그런 다음 사용자는 원하는 일치 항목을 선택할 수 있습니다.

+0

하지만 필자는 Find 함수가 찾고자하는 정확한 문자열을 입력으로 필요로한다고 생각하므로 문자열 내부의 키워드를 찾고 싶습니다. 찾기를 사용하여 가능합니까? 감사합니다 :) –

+0

찾기를 설정하여 전체 또는 부분 문자열을 검색 할 수 있습니다. 'LookAt : = xlPart' 매개 변수를 사용하십시오. –

+0

많은 감사합니다! :디 –