我是VBA的新手并且正在通过练习来学习它,第一个宏之一就是为一个红色的盒子着色如果我点击一个宏按钮。我最初录制了一个宏来检查它用来执行该操作的VBA代码
Sub MakeMeRed()
'
' MakeMeRed Macro
'
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
我用谷歌搜索发现有另一种选择活动细胞的方法,所以我尝试用这种方法来填充细胞。
Sub TestMacro()
'
' TestMacro Macro
'
With ActiveCell
'.Value = "250"
.Color = 200
End With
End Sub
但是这段代码不起作用,它不会填充所选单元格的颜色。你能指出我出错的地方吗?
答案 0 :(得分:2)
这里有2
种方式来引用单元格内的颜色。
使用ActiveCell.Interior.ColorIndex
和ActiveCell.Interior.Color
。 ActiveCell.Interior.Color
可以获得4个不同的值。
Sub TestMacro()
With ActiveCell
.Value = 1
.Interior.ColorIndex = 3
.Offset(1, 1) = 21
.Offset(1, 1).Interior.Color = RGB(255, 0, 0)
.Offset(1, 2) = 22
.Offset(1, 2).Interior.Color = vbRed 'vbRed = 255
.Offset(1, 3) = 23
.Offset(1, 3).Interior.Color = "&HFF" 'FF = 255; &H is for typeinfo
.Offset(1, 4) = 24
.Offset(1, 4).Interior.Color = 255
End With
End Sub
看起来像这样:
答案 1 :(得分:0)
要使两者等同,该部分中的ActiveCell是第一个中的选择。要更改颜色,您需要在某处的内部部分滑动。您可以With ActiveCell.Interior
或使用阻止.Interior.Color = 200
。