Excel 以像素为单位将形状从一张图纸复制到另一张图纸
下午好 我想将元素从一张图纸复制到另一张图纸。 当我们基于粗略单元范围时,这是一个简单的问题。 在我的例子中,问题看起来并不简单,因为我想要一些补偿 此处提供的查询: 这并不能真正解决我的问题,因为它显示了整个单元格的偏移量 我想用像素而不是单元格来表示偏移量。详情如下。黑色箭头显示了我设法粘贴到工作表中的对象。红色箭头显示此对象的目标位置。不幸的是,它不能坚持细胞范围 到目前为止,我的代码如下所示:Excel 以像素为单位将形状从一张图纸复制到另一张图纸,excel,vba,Excel,Vba,下午好 我想将元素从一张图纸复制到另一张图纸。 当我们基于粗略单元范围时,这是一个简单的问题。 在我的例子中,问题看起来并不简单,因为我想要一些补偿 此处提供的查询: 这并不能真正解决我的问题,因为它显示了整个单元格的偏移量 我想用像素而不是单元格来表示偏移量。详情如下。黑色箭头显示了我设法粘贴到工作表中的对象。红色箭头显示此对象的目标位置。不幸的是,它不能坚持细胞范围 到目前为止,我的代码如下所示: Sub Divider() Sheets("Cables 1").Shapes("Di
Sub Divider()
Sheets("Cables 1").Shapes("Divider1").Copy
Location ActiveSheet.Range("B25").PasteSpecial
Selection.Name = "Divider"
End Sub
Function Location(s, Target As Range)
s.Left = Target.Left + 3
s.Top = Target.Top - 1
End Function
不幸的是,调试器不能容忍ActiveSheet
前面的函数名。我得到了一个错误。
参数不是可选的
有没有办法使这个小偏移量变小?试试看
Sub Divider()
Dim Ws As Worksheet
Dim Shp As Shape
Set Ws = ActiveSheet
Sheets("Cables 1").Shapes("Divider1").Copy
Ws.Range("B25").PasteSpecial
Selection.Name = "Divider"
Set Shp = Ws.Shapes("Divider")
Location Shp, Range("b25:L50")
End Sub
Function Location(s As Shape, Target As Range)
With s
.Left = Target.Left + 3
.Top = Target.Top + 3
.Width = Target.Width - 6
'.Height = Target.Height - 6
End With
End Function
Location
需要两个参数。。。您需要传递一个形状
和一个范围
。你两个都没做你是说把它们调暗?不。。。您需要传递位置两个参数:现在您有ActiveSheet.Range(“B25”).PasteSpecial
,它根本不是参数。这是一个论点,但不是一个形状。