+ -
当前位置:首页 → 问答吧 → 急求高手帮忙

急求高手帮忙

时间:2011-10-10

来源:互联网


我使用VBA 把一个表格里某一单元格的值取出来和保存在一个字符串数组里的数进行比较
我通过调试,两个值看着是一样的,但是比较总是不相等,为什么,我都赋值给string再比较也一样

VB code

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
        

作者: jaylong35   发布时间: 2011-10-10

虽然看上去一样,但是还可能有非显示字符的。

作者: yiguangqiang88   发布时间: 2011-10-10

引用 1 楼 yiguangqiang88 的回复:

虽然看上去一样,但是还可能有非显示字符的。

那请问一下,要怎么处理呢

作者: jaylong35   发布时间: 2011-10-10

引用 1 楼 yiguangqiang88 的回复:
虽然看上去一样,但是还可能有非显示字符的。

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

作者: Veron_04   发布时间: 2011-10-10

引用 3 楼 veron_04 的回复:

引用 1 楼 yiguangqiang88 的回复:
虽然看上去一样,但是还可能有非显示字符的。

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


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

作者: jaylong35   发布时间: 2011-10-10

用right或mid函数提取多了“空格”,用asc函数获取它的ascii码,然后用给你的数组成员加上这个字符,再进行比较。

也可以根据你的串情况用replace替换这个“空格”到空串。

作者: chinaboyzyq   发布时间: 2011-10-10

热门下载

更多