比如说,我想让图例中的中文全都是楷体,英文全都是Verdana.可以做到么?

解决方案 »

  1.   

    本站windows专区有个“Microsoft Office应用”版,去那边问问
      

  2.   

    哦,手工的我已经搞定了,但是用VBA实现不了.
    手工做的话,分别刷两次字体就行了:先刷成楷体,然后再刷成Verdana.
    我用VBA模仿手工,也是分两次刷,甚至在之间还加了doevents,但发现还是不行.BTW,你是泰山?10年前的那个泰山?
      

  3.   

    直接指定那个Cell要改变字体字号与颜色即可 何必整个刷屏?
      

  4.   

    哦 错了 sorry 整个页面的中文与英文就得刷屏
      

  5.   

    Dim VbExcell As Object
    Dim vbbook As Object
    Dim Fname$, AppDisk$, Trows&, Tcols&, aa$, bb$, i&, j&, k&
    Private Sub Form_Load()
       AppDisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
       Fname = AppDisk & "aaa.xls"
       Set VbExcell = CreateObject("Excel.Application") '创建excel对象
       VbExcell.Visible = True '对象可见
       Set vbbook = VbExcell.Workbooks.Open(Fname) '打开文件
       If Val(VbExcell.Application.Version) >= 8 Then
          Set vbbook = VbExcell.ActiveSheet
       Else
          Set vbbook = VbExcell
       End If
    End SubPrivate Sub Command1_Click()
       Trows = VbExcell.ActiveSheet.UsedRange.Rows.Count
       Tcols = VbExcell.ActiveSheet.UsedRange.Columns.Count
       For i = 1 To Trows
          For j = 1 To Tcols
             aa = VbExcell.Cells(i, j).Text
             If ChkChinese(aa) Then
                VbExcell.Cells(i, j).Font.Name = "楷体"
             Else
                VbExcell.Cells(i, j).Font.Name = "Verdana"
             End If
          Next
       Next i
    End SubFunction ChkChinese(TmpStr$) As Boolean
       ChkChinese = False
       For k = 1 To Len(TmpStr)
          bb = UCase(Mid(TmpStr, k, 1))
          If bb = "." Or (Asc(bb) >= 48 And Asc(bb) <= 57) Or (Asc(bb) >= 65 And Asc(bb) <= 90) Then
          Else
             ChkChinese = True: Exit For
          End If
       Next k
    End Function
      

  6.   

    哦,手工的我已经搞定了,但是用VBA实现不了.
    手工做的话,分别刷两次字体就行了:先刷成楷体,然后再刷成Verdana.
    我用VBA模仿手工,也是分两次刷,甚至在之间还加了doevents,但发现还是不行.既然手工可作,建议【宏】【录制宏】试试,能够实现。