2016-07-20 3 views
2

"2"를 입력하면 어떤 열을 찾고 내 첫 번째 항목 열은 포도를 표시해야하고 두 번째 항목 열은 바나나를 표시해야합니다. Worksheet datavba를 사용하여 Excel에서 다른 항목 검색하기

Private Sub CommandButton1_Click() 
row_number = 0 
Do 
DoEvents 
row_number = row_number + 1 
item_in_review = Sheets("SHEET1").Range("A" & row_number) 
If item_in_review = TextBox1.Text Then 
    TextBox2.Text = Sheets("SHEET1").Range("B" & row_number) 
    'want to know which code I want to use in textbox3.text to find next repetation 
    TextBox3.Text = Sheets("SHEET1").Range("B" & row_number) 

    End If 
Loop Until item_in_review = "" 
End Sub 

답변

2

Userform

Range.Find Range.FindNext 및 방법을 사용하여 달성 될 수있다.

Private Sub CommandButton1_Click() 
    Dim rSearch As Range 
    Dim rFound As Range 

    With Sheets("SHEET1") 
     Set rSearch = .Range("A1", .Range("A" & Rows.Count).End(xlUp)) 

     Set rFound = rSearch.Find(What:=TextBox1.Text, LookIn:=xlValues) 

     If rFound Is Nothing Then 
      TextBox2.Value = "" 
     Else 
      TextBox2.Value = rFound.Offset(0, 1).Value 

      Set rFound = rSearch.FindNext(rFound) 

      If rFound Is Nothing Then 
       TextBox3.Value = "" 
      Else 
       TextBox3.Value = rFound.Offset(0, 1).Value 
      End If 

     End If 
    End With 

End Sub 

코드도 약간 리팩터링 할 수 있습니다.

Private Sub CommandButton1_Click() 
    Dim row_number As Long 
    TextBox2.Value = "" 
    TextBox3.Value = "" 

    With Sheets("SHEET1") 
     Do 
      row_number = row_number + 1 
      item_in_review = .Range("A" & row_number) 

      If item_in_review = TextBox1.Text Then 
       If TextBox2.Text = "" Then 
        TextBox2.Text = .Range("B" & row_number) 
       Else 
        TextBox3.Text = .Range("B" & row_number) 
        Exit Do 
       End If 

      End If 
     Loop Until item_in_review = "" 
    End With 
End Sub 
+0

정말 고마워요 ... – shabin

+0

이 코드를 사용하면 작동하지만 다른 문제가 발생했습니다. 행에없는 숫자 나 단어를 입력하면 디버그가 노란색 선으로 표시됩니다. rFound = rSearch.FindNext (rFound) – shabin

+0

답변을 업데이트했습니다. Find 다음은 thel 내부에 있어야합니다. "rFound가 없다면"statement. 캐치를 가져 주셔서 감사합니다. –

관련 문제