从集合列表中自动创建和命名对象

时间:2014-02-06 08:17:02

标签: excel excel-vba shapes vba

我正在尝试从引用的列表中自动命名对象,而不是仅在脚本中声明对象文本。

如何让脚本引用名为Process Steps的单独工作表,其中文本值位于单元格C7中,而不是在脚本中输入Step 1

ActiveSheet.Shapes.AddShape(msoShapeRectangle, 50, 50, 100, 50).Select
Selection.Formula = ""
Selection.ShapeRange.ShapeStyle = msoShapeStylePreset40
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Step1"

1 个答案:

答案 0 :(得分:1)

彼得已经提到了如何从另一个单元格中获取值。提前一点。

请避免使用.Select/.Activate INTERESTING READ

这是你在尝试的吗?

Sub Sample()
    Dim shp As Shape

    Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 50, 50, 100, 50)

    With shp.OLEFormat.Object
        .Formula = ""

        .ShapeRange.ShapeStyle = msoShapeStylePreset40

        .ShapeRange(1).TextFrame2.TextRange.Characters.Text = _
        ThisWorkbook.Sheets("Process Steps").Range("C7").Value
    End With
End Sub