在 Excel 中,使用 VBA 可以在现有形状之后粘贴新的形状。以下代码示例将演示如何实现这一功能。
Sub InsertShape()
Dim myFile As String
Dim myShape As Shape
'选择文件
myFile = Application.GetOpenFilename("Excel Files (*.xl*),*.xl*", _
Title:="Select the Excel file to use")
'打开文件
Workbooks.Open (myFile)
'选择工作表
ActiveSheet.Select
'获取现有形状数量
Set myShape = ActiveSheet.Shapes.Count
'创建新的形状
Set myShape = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
Range("A1").Left, Range("A1").Top, _
Range("A1").Width, Range("A1").Height)
'将新形状添加到现有形状的末尾
ActiveSheet.Shapes.Range(Array(myShape.Name)).Select
Selection.InsertShape Shift:=xlToRight, _
Type:=xlShapeRectangle
'调整新形状的大小
myShape.Height = 20
myShape.Width = 20
'保存文件
ActiveWorkbook.Save
'关闭文件
ActiveWorkbook.Close
End Sub
=InsertShape()
(不要引号)。现在,您应该已经成功地在现有形状之后插入了新的形状。如果需要调整形状的大小,请按照上面第 3 步中的方法调整新形状的大小。
领取专属 10元无门槛券
手把手带您无忧上云