我使用VBA 把一个表格里某一单元格的值取出来和保存在一个字符串数组里的数进行比较
我通过调试,两个值看着是一样的,但是比较总是不相等,为什么,我都赋值给string再比较也一样
dailyBook.Sheets(i).Select
        If Cells(s, 10) Is Nothing Then
             
        Else
            Dim tag As Integer
            
            For r = 1 To UBound(arr_baseinfo)
                Dim st, sb As String
                st = Cells(s, 1).Value ‘这里是取一个单元格的值
                sb = arr_baseinfo(r, 1) ‘这里是数组中对应位置的值
                If StrComp(st, sb) = 0 Then '通过"="或是其它的比较都不通过,请高手指点
                    tag = r
                    r = UBound(arr_baseinfo)
                End If
                
            Next r
            
            strString = strString & arr_baseinfo(tag, 3) & "(" & Cells(s, 10) & ")"
        End If
        

解决方案 »

  1.   

    认同这个观点,你可以Debug.Print一下这两个字符串的ASCII编码,看看是否一样?
      

  2.   


    我通过监视看到从单元格中取的那个字符串看着多了一个空格,可是,TRIM过了也没有效果
    而且,通过列查找FIND(what:="")是可以找出来的。
    用的是图形界面,debug.print用不了吧,刚学,不是很清楚
      

  3.   

    用right或mid函数提取多了“空格”,用asc函数获取它的ascii码,然后用给你的数组成员加上这个字符,再进行比较。也可以根据你的串情况用replace替换这个“空格”到空串。
      

  4.   

    肯定不是空格,可能是回车换行,或者制表符,建议用猴哥的办法实它是什么
    您的回复正文中有非法词或词组!CSDN啊,您V5
      

  5.   

    谢谢看了的确不是空格,是一个制表符现在用InStr函数来查找,现在的需求上解决了问题,谢谢各位