当前位置:  开发笔记 > 编程语言 > 正文

在VBA中设置字体颜色

如何解决《在VBA中设置字体颜色》经验,为你挑选了1个好方法。

我想将单元格的字体颜色设置为特定的RGB值.

如果我使用

ActiveCell.Color = RGB(255,255,0)

我得到黄色,但如果我使用更奇特的RGB值,如:

ActiveCell.Color = RGB(178, 150, 109)

我只是回到灰色.

为什么我不能只使用任何RGB值?你知道任何变通方法吗?

谢谢.



1> LeppyR64..:

Excel仅使用调色板中的颜色.使用RGB值设置单元格时,它会选择调色板中最接近匹配的单元格.您可以使用颜色更新调色板,然后选择颜色即可.

这将让您看到调色板中当前的内容:

 Public Sub checkPalette()
      Dim i As Integer, iRed As Integer, iGreen As Integer, iBlue As Integer
      Dim lcolor As Long
      For i = 1 To 56
        lcolor = ActiveWorkbook.Colors(i)
        iRed = lcolor Mod &H100  'get red component
        lcolor = lcolor \ &H100  'divide
        iGreen = lcolor Mod &H100 'get green component
        lcolor = lcolor \ &H100  'divide
        iBlue = lcolor Mod &H100 'get blue component
        Debug.Print "Palette " & i & ": R=" & iRed & " B=" & iBlue & " G=" & iGreen
      Next i
    End Sub

这将让您设置调色板

Public Sub setPalette(palIdx As Integer, r As Integer, g As Integer, b As Integer)
  ActiveWorkbook.Colors(palIdx) = RGB(r, g, b)
End Sub

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有