繁体   English   中英

根据单元格值插入多个形状

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM