现在有一个String类型的变量S,值是001
另外有一个a(20)的数组,里面有20个成员怎么检测S是否与a(20)里面的一个值匹配呢?
有什么最简单的方法啊求各位达人指教

解决方案 »

  1.   

    if Ubound(Filter(a,S,False))=Ubound(a) Then
       msgbox "不包含"
    else
       msgbox "包含"
    end if
      

  2.   

    Ubound(Filter(a,S,False))=Ubound(a)这一句是什么意思啊?
    谢谢指教
      

  3.   

    Filter函数描述返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。语法Filter(InputStrings, Value[, Include[, Compare]])Filter函数语法有如下几部分:部分 描述 
    InputStrings 必需的。要执行搜索的一维字符串数组。 
    Value 必需的。要搜索的字符串。 
    Include 可选的。Boolean值,表示返回子串包含还是不包含Value字符串。如果Include是True,Filter返回的是包含Value子字符串的数组子集。如果Include是False,Filter返回的是不包含Value子字符串的数组子集。 
    Compare 可选的。数字值,表示所使用的字符串比较类型。有关其设置,请参阅下面的“设置值”部分。 
    设置值Compare参数的设置值如下:常数 值 描述 
    vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。 
    vbBinaryCompare  0 执行二进制比较。 
    vbTextCompare  1 执行文字比较。 
    vbDatabaseCompare  2 只用于Microsoft Access。基于您的数据库信息来执行比较。 
      

  4.   

    Ubound()函数返回数组可用最大下标(上界)
    Filter(a,S,False)返回过滤掉匹配S的数组,如果元素个数没变,说明没有过滤掉任何元素,即不包含S
      

  5.   

    a(1000,1000,1000,1000)?
    倒!谁敢声明这种数组?就算是最小的Byte类型数组,也要900多GB内存,银河巨型机也处理不了!
      

  6.   

    多维数与一维数组在内存中是一回事,都是线性存放的,用CopyMemory可转成一维数组处理。