Excel 以动态方式应用VbColor属性
我正在尝试以动态方式应用VbColor属性。我将基本颜色保存在Excel的一个下拉列表中(蓝色、红色、黄色等),并尝试使用以下代码根据列表中选择的值应用颜色。但是我最终得到了一个错误(类型不匹配-运行时错误-13) 请帮忙!!先谢谢你Excel 以动态方式应用VbColor属性,excel,vba,Excel,Vba,我正在尝试以动态方式应用VbColor属性。我将基本颜色保存在Excel的一个下拉列表中(蓝色、红色、黄色等),并尝试使用以下代码根据列表中选择的值应用颜色。但是我最终得到了一个错误(类型不匹配-运行时错误-13) 请帮忙!!先谢谢你 Dim Colours as variant Colours = "vb" & Sheet1.Range("K5").Value` ' You are passing a string value here
Dim Colours as variant
Colours = "vb" & Sheet1.Range("K5").Value` ' You are passing a string value here
虽然您将颜色声明为变体,但您正在向其传递字符串。因此出现了不匹配错误。相反,您可以使用colorindex属性
Colours = Sheet1.Range("K5").Value 'Populate K5 with corresonding colorindex like say 3 for vbred.
Range(ActiveCell, ActiveCell.Offset(0, 8)).Select
Selection.Interior.ColorIndex = Colours
虽然您将颜色声明为变体,但您正在向其传递字符串。因此出现了不匹配错误。相反,您可以使用colorindex属性
Colours = Sheet1.Range("K5").Value 'Populate K5 with corresonding colorindex like say 3 for vbred.
Range(ActiveCell, ActiveCell.Offset(0, 8)).Select
Selection.Interior.ColorIndex = Colours
以下是如何评估相关颜色常数输入的示例:
Private Sub Test()
Dim Colours As Long
Select Case Q3Sht.Range("K5").Value
Case "Black": Colours = vbBlack
Case "Red": Colours = vbRed
Case "Green": Colours = vbGreen
Case "Yellow": Colours = vbYellow
Case "Blue": Colours = vbBlue
Case "Magenta": Colours = vbMagenta
Case "Cyan": Colours = vbCyan
Case "White": Colours = vbWhite
End Select
Selection.Interior.Color = Colours
End Sub
以下是如何评估相关颜色常数输入的示例:
Private Sub Test()
Dim Colours As Long
Select Case Q3Sht.Range("K5").Value
Case "Black": Colours = vbBlack
Case "Red": Colours = vbRed
Case "Green": Colours = vbGreen
Case "Yellow": Colours = vbYellow
Case "Blue": Colours = vbBlue
Case "Magenta": Colours = vbMagenta
Case "Cyan": Colours = vbCyan
Case "White": Colours = vbWhite
End Select
Selection.Interior.Color = Colours
End Sub
当字符串实际接受表示颜色的长值时,您试图将字符串传递给颜色属性。()vbBlue是一个常数,用于存储颜色值的实际值。您必须创建自己的Select语句来评估下拉输入以获得相关常量。是否有其他方法可以实现此目的?据我所知,没有,但颜色常量太多,所以不需要太长时间。请注意-您应该尝试完全限定代码并停止使用Select(请阅读此:)当字符串实际接受表示颜色的长值时,您试图将字符串传递给颜色属性。()vbBlue是一个常数,用于存储颜色值的实际值。您必须创建自己的Select语句来评估下拉输入以获得相关常量。是否有其他方法可以实现此目的?据我所知,没有,但颜色常量太多,所以不需要太长时间。请注意-您应该尝试完全限定代码并停止使用Select(请阅读此:)谢谢你的帮助!!!,谢谢你的帮助!!!,谢谢你的帮助!!!,谢谢你的帮助!!!,它起作用了