2011-10-25 85 views
0

我從列表框中獲取ID,然後通過Excel工作表(ID)掃描以確定該ID是否存在。如果沒有,我不得不在最後加上它。如果是這樣,我必須找出該ID存在哪一行。通過excel列掃描搜索ID

我循環這樣

count = 1 
count1=1 

While (Worksheets("ID").Cells(Count, 1) <> "") 
    If StrComp(Worksheets("ID").Cells(Count, 2), list1.Value, vbTextCompare = 1) Then 
     count1=count 
count = count +1 
+0

您是在尋找單個還是多個結果?並在「ID」的特定列? – brettdj

+0

表單ID第一列中的字段應與列表框中列出的ID匹配。單一結果。身份證是唯一的。 – Ank

+0

是用戶窗體上的列表框? – brettdj

回答

3

你可以嘗試使用查找看看在對整個字符串中的一個案例insenstive匹配列B,即

更新:如果你正在運行的直接找到有效的X控件然後:

Private Sub List1_Click() 
Dim rng1 As Range 
    Set rng1 = Sheets("ID").Columns("B").Find(List1.Value, , xlValues, xlWhole, , False) 
    If Not rng1 Is Nothing Then 
     MsgBox List1.Value & " found at " & rng1.Row 
    Else 
     MsgBox List1.Value & " not found" 
    End If 
End Sub 
+0

謝謝..運作良好! – Ank