[英]Insert Multiple Shapes based on cell value
我正在尝试找到一种方法来根据单元格输入插入矩形形状 x 次。
例如:单元格 a1 输入了 3 个,宏会生成 3 个矩形,如果单元格 a1 输入了 6 个,宏会生成 6 个矩形。
理想情况下,它们会在一个参数内,但我还没有那么远。
这是我的代码,它根据单元格输入更改矩形的尺寸。 如何添加它以引用不同的单元格以插入 x 次?
Dim ws As Worksheet
Set ws = Worksheets("Sheet2")
ws.Shapes.AddShape msoShapeRectangle, 50, 50, Range("E11"), Range("F11")
添加了一个循环,但它没有正确选择或读取范围
Dim rge As range, cell As range
Set rge = range("A1")
Dim ws As Worksheet
Set ws = Worksheets("Sheet2")
ws.Shapes.AddShape msoShapeRectangle, 50, 50, range("E11"), range("F11")
For Each cell In rge
Next cell
End Sub
您需要一个常规的For
循环,而不是For Each
:
Dim i As Long
For i = 1 to rge.Value
ws.Shapes.AddShape msoShapeRectangle, 50, 50, range("E11"), range("F11")
Next
目前,您的Range
调用是不合格的,即它们隐式引用ActiveSheet
。 我认为他们应该参考ws
。
其他一些小改动:
Dim ws As Worksheet
Set ws = Worksheets("Sheet2")
Dim rge As Range
Set rge = ws.Range("A1")
Dim width As Single
width = ws.Range("E11").Value
Dim height As Single
height = ws.Range("F11").Value
For i = 1 to rge.Value
ws.Shapes.AddShape msoShapeRectangle, 50, 50, width, height
Next
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.