我的电脑操作系统和Excel都是繁体版,当出现简体字时,在VBA中读取单元格的字符就会把简体字都读取为“?”:
例如:[A1]=“我是中国人”
       msgbox  [A1]
结果显示“我是中?人”请各位大侠帮忙解决

解决方案 »

  1.   

    因为繁体里“国”字是“國”
    你的代码需要处理GB2312转BIG5
    还有你的系统里需要有对简体中文编码的支持。
      

  2.   

    在代码怎么样处理GB2312转BIG5?
      

  3.   

    简繁体互换 GB<=>BIG5 '****** 简繁体互换 GB-->Unicode-->BIG5 _
                    Or BIG5-->Unicode-->GB  *****************
    '参数sStr为需要转换的文本
    '参数iConver为要转化的类型,为1时表示繁体到简体的转换,为2时表示简体到繁体的转换Function GBBIG5(sStr As String, iConver As Integer) As String
    On Error Resume Next
        Dim STR
        If iConver = 1 Then 'BIG5-->GB
            STR = StrConv(sStr, vbFromUnicode, &H804)
            GBBIG5 = StrConv(STR, vbUnicode, &H404)
        ElseIf iConver = 2 Then 'GB-->BIG5
            STR = StrConv(sStr, vbFromUnicode, &H404)
            GBBIG5 = StrConv(STR, vbUnicode, &H804)
        End If
    End Function
     
      

  4.   

    还是不行,结果不是“我是中国人”
    GBBIG5([A1], 2)
    结果是:и琌い?
    GBBIG5([A1], 1)
    结果是:扂岆笢弊
      

  5.   

    请问下楼主,简体中文在你的繁体Excel显示时是正常的吧?
      

  6.   

    在Excel显示是正常的,就是VBA一读取就不正常了
      

  7.   

    强制转换为STRING  输出
    CStr([A1])
      

  8.   

    http://download.csdn.net/source/3012946
    http://download.csdn.net/source/1785343