2011-04-25 55 views
0

我試圖讓程序查找在D1中設置的條件,然後搜索col E的每一行col E作爲條件,但會發生錯誤。例如標準是「金,銀」,那麼程序在每行中分別在列C和列E中搜索金或銀,考慮到我有幾行搜索。該程序僅在範圍(「E:E」&「C:C」)被範圍(「E:E」)取代時才起作用。Excel-VBA-Campare&通過每行中的多列進行搜索

下面是代碼:

var1 = Range("D1").Value 
Dim aString() As String: aString = Split(var1, ",") 

For Each cell In Sheets("data").Range("E:E" & "C:C") 

    If (Len(cell.Value) = 0) Then Exit For 
    For i = 0 To UBound(aString)   
     If InStr(1, cell.Value, aString(i), vbTextCompare) Then 
     Msgbox "found aString's value in col E and col C" 
     End if 
    Next 
Next 

回答

0

變化

For Each cell In Sheets("data").Range("E:E" & "C:C") 

For Each cell In Sheets("data").Range("E:E,C:C") 
+0

試圖ü建議的修改,不能工作。我正在使用VB 6.5和Excel 2007. – 2011-04-27 03:17:37

+0

@KwaiLum,列需要按順序'E:E,C:C'將不起作用,但是'C:C,E:E'可能。此外,分隔符可以是';',這意味着在這種情況下它將是'C:C; E:E' – SeanC 2012-08-13 14:01:21