这与我在使用此问题的搜索中发现的非常不同。
我希望能够根据范围的单元格值更改字体大小和颜色(RGB)。这将允许用户自定义表单(标题的大小和颜色,常规文本等)
对于字体大小,下面的方法可以很好地工作,但是除非我在代码中指定颜色,否则它不适用于字体颜色。
单元格B1包含字体大小 12 ,单元格B2包含 255、255、0
Sub fontsizecolor ()
Dim rgb2 As String
rgb2 = ThisWorkbook.Worksheets("sheet1").Range("B2").Text
With Worksheets("Sheet1").Range("A1:A10")
.Font.Size = Range("B1")
'.Font.Color = RGB(255, 255, 0) **<---- this works**
.Font.Color = RGB(rgb2)
End With
End Sub
答案 0 :(得分:1)
如BigBen所述,您需要为RGB
提供3个参数,而Split
函数可以为您实现这一目标。
在下面的示例中,我们从B2中获取文本,将其拆分并将元素存储到数组中。然后,我们只需将这些元素输入RGB
中即可:
Sub fontsizecolor()
Dim rgb2, rgbArray() As String
rgb2 = ThisWorkbook.Worksheets("sheet1").Range("B2").Text
rgbArray = Split(rgb2, ",") ' split string on ","
With Worksheets("Sheet1").Range("A1:A10")
.Font.Size = Range("B1")
.Font.Color = RGB(rgbArray(0), rgbArray(1), rgbArray(2)) ' feed array elements as arguments
End With
End Sub