2011-04-25 80 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