我正在尝试创建一个我将拥有形状的excel文件。 这种形状我试图连接到单元格值。
因此,当我点击按钮开始时,excel将通过单元格值,单元格值为X,我希望形状X闪烁红色,如果单元格值为Y,则单元格将为绿色。
现在我编写了代码,用于遍历一列中的单元格并将其颜色更改为绿色和红色:
Sub test()
Dim sh As Shape
Dim area As String
Set sh = Sheet1.Shapes("X")
Range("A1").Select
Do Until ActiveCell.Value = ""
area = ActiveCell.Value
If area = "X" Then
sh.Fill.ForeColor.RGB = rgbRed
End If
ActiveCell.Offset(1, 0).Select
Loop End Sub
我在编写代码时遇到问题,需要更改单元格的名称并更改其他形状的颜色。
答案 0 :(得分:0)
您必须在选择单元格之间等待大约1秒才能使其正常工作。使用您的代码和使用选择单元格,这样的东西应该工作:
Sub test()
Dim sh As Shape
Dim area As String
Set sh = ActiveSheet.Shapes("X")
Range("A1").Select
Do Until ActiveCell.Value = ""
area = ActiveCell.Value
If area = "X" Then
sh.Fill.ForeColor.RGB = rgbRed
Application.Wait Now + #12:00:01 AM#
ElseIf area = "Y" Then
sh.Fill.ForeColor.RGB = rgbGreen
Application.Wait Now + #12:00:01 AM#
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub
通常,在VBA中使用Select
被认为是一种不好的做法,但在这种情况下,它会使“应用程序”看起来更好,因为您可以关注当前的单元格。