我试图在Excel中使用表单控件按钮来更改整行的颜色,并且能够在后续行上复制该按钮,但只有按钮操作会影响与所述按钮对应的行。当前的宏是:
Sub RED()
Rows("3:3").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10066431
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
这适用于第一个按钮,但是当我尝试复制(拉下更多按钮)时,它们只会影响原始代码中所述的行(3:3)我无法找到方法,如果有,则选择当前行而不是定义的行3。
答案 0 :(得分:0)
如果您的表单控件CommandButtons与行正确对齐,请将以下两个宏放在标准模块上,如Module1。
Sub RED(iRow As Long)
With Rows(iRow).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10066431
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Sub ColorRow()
Dim r As Long
Dim shp As Shape
Set shp = ActiveSheet.Shapes(Application.Caller)
r = shp.TopLeftCell.Row
Call RED(r)
End Sub
现在将宏ColorRow分配给所有CommnadButtons。因此,当您单击CommandButton时,代码将为CommandButton对齐的行着色。