VBA:将颜色设置为Excel列,从文本文件导入的颜色

时间:2012-12-13 21:15:04

标签: vba excel-vba excel

Excel VBA:我有一项任务是根据文本文件中给出的输入修改几列的背景颜色。我能够使用十六进制颜色来做到这一点。现在我要求用简单的英语支持颜色。 文本文件现在将包含

等数据
columnname1,red
columnname2,green

所以我必须将这个“红色”映射到colorConstant数字3以使其工作。如果我需要允许所有支持的颜色 Check here,我是否需要为所有这些人编写IF ELSE。有一个简单的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用集合来存储映射:

Public indexOf As Collection

Sub map(color As String, index As Integer)
    Call indexOf.Add(index, color)
End Sub

Sub init()
    Set indexOf = New Collection

    map "red", 3
    map "green", 4
    map "blue", 5
End Sub

Sub test()
    init

    [A1].Interior.ColorIndex = indexOf("red")
    [A2].Interior.ColorIndex = indexOf("green")
    [A3].Interior.ColorIndex = indexOf("blue")
End Sub