我想将形状移动到不同的工作表,而不在宏中使用复制和粘贴。还有其他方法可以做到这一点吗?
如果形状是图表对象,您只需更改其位置即可:
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet2"
对于所有其他类型的形状,没有位置属性或移动方法。如果您想避免复制和粘贴,则需要在新工作表上创建一个新形状并复制所有相关属性,然后删除原始形状。
Sub MoveShape()
Dim shp1 As Shape, shp2 As Shape
Set shp1 = Sheets("Sheet1").Shapes(1)
Set shp2 = Sheets("Sheet2").Shapes.AddShape(shp1.Type, shp1.Left, shp1.Top, shp1.Width, shp1.Height)
shp2.Name = shp1.Name
shp2.Fill.ForeColor.RGB = shp1.Fill.ForeColor.RGB
shp2.Line.Weight = shp1.Line.Weight
shp2.Line.DashStyle = shp1.Line.DashStyle
shp2.Line.ForeColor.RGB = shp1.Line.ForeColor.RGB
shp1.Delete
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)