这就是我想要做的,我真的不知道该怎么做或者是否可能。我有一列,其中生成了一些值。假设列号为 10。我想要做什么...如果该列中的单元格的值 > 1 我想绘制一个矩形(在下一个单元格中或靠近该单元格)(第 11 列同一行) 并为其分配了一个宏。宏将在单元格所在的位置和将绘制矩形的位置之后插入另一行,因此我必须以某种方式获得矩形的位置。有任何想法吗?非常感谢!
Sub Tester()
Dim c As Range
For Each c In ActiveSheet.Range("A2:A30")
If c.Value > 1 Then
AddShape c.Offset(0, 1)
End If
Next c
End Sub
Sub AddShape(rng As Range)
With rng.Cells(1).Parent.Shapes.AddShape(msoShapeRectangle, rng.Left, _
rng.Top, rng.Width, rng.Height)
.OnAction = "DoInsertAction"
End With
End Sub
Sub DoInsertAction()
Dim r As Long
r = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
ActiveSheet.Rows(r + 1).Insert Shift:=xlDown
End Sub
Run Code Online (Sandbox Code Playgroud)