我有一个excel电子表格,我已经将其作为表单构建,我需要在工作簿中的不同选项卡上的几个范围中添加签名。
我已经有了这个代码,它会从剪贴板粘贴到我的工作表上,它似乎只想粘贴在工作表的左上角,而不想调整为设置的值。
如何将其粘贴到我想要的位置以及我想要的尺寸?由此我希望能够将其复制并粘贴到具有不同范围位置的其他几张纸
Sub Signatures()
Sheets("MySheet1").Select
Range("A11").Select
ActiveSheet.Paste
Selection.ShapeRange.ScaleHeight 0.8513513514, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleWidth 0.9399224806, msoFalse, msoScaleFromTopLeft
End Sub
答案 0 :(得分:1)
我的过程是,在paint中打开jpg文件,选择要复制,单击copy,进入excel工作簿,然后点击地点签名按钮。然后我希望它将复制的签名粘贴到我想要的位置,并将其大小调整到我预定的相关大小。 有什么更好的方法可以做到这一点?
保存JPG文件。假设您将其保存为"C:\Signature.Jpg"
试试此代码
Sub InsertSignatures()
Dim ws As Worksheet
Dim ImgPath As String
Dim W As Double, H As Double
Dim L As Long, T As Long
Set ws = ThisWorkbook.Sheets("MySheet1")
'~~> Change this to the releavnt pic file
ImgPath = "C:\Signature.Jpg"
With ws
W = 100 '<~~ Width
H = 100 '<~~ Height
L = .Range("A11").Left '<~~ Left Position for image
T = .Range("A11").Top '<~~ Top Position for image
With .Pictures.Insert(ImgPath)
With .ShapeRange
.LockAspectRatio = msoTrue
.Width = W
.Height = H
End With
.Left = L
.Top = T
.Placement = 1
End With
End With
End Sub
<强>输出强>