改变颜色的具体范围

时间:2015-09-11 17:49:51

标签: excel vba excel-vba

我有一张Excel表格,如下所示

enter image description here

我想为定义下列其他列的特定位置进行颜色更改和粗体更改。

enter image description here

Random

因此改变位置1,2,3,10的蓝色。 并改变位置为5,6,7,8的红色

有没有人有好主意做一个功能?

1 个答案:

答案 0 :(得分:2)

这是一个小小的子程序,可以帮助您入门。假设您的position1值位于A2position2值位于B2Example位于C2

您可以修改它以涵盖更大的范围。

Sub test()

    Dim i As Long
    Dim text As String
    Dim p1, p2 As Variant

    p1 = Split(Range("A2").Value, ",")
    p2 = Split(Range("B2").Value, ",")
    text = Range("C2").Value

    For i = LBound(p1) To UBound(p1)
        Cells(2, 3).Characters(p1(i), 1).Font.Color = vbBlue
    Next

    For i = LBound(p2) To UBound(p2)
        Cells(2, 3).Characters(p2(i), 1).Font.Color = vbRed
    Next

End Sub