如何使用VBA在Excel中移动图像?

我想使用VBA将图像从excel中的一个位置移动到另一个位置。

我们怎么做到这一点?

如果您需要在给定的工作表中更改图像的位置,则可以使用如下所示的内容:

ActiveSheet.Shapes.Range(Array("Picture 1")).Select Selection.ShapeRange.IncrementLeft 100 

您可以通过更改.Increment …命令的参数来调整运动方向和运动量,例如为图像设置animation。

如果我们快速和肮脏,需要在表单之间移动以下工作

 Sub CutAndPasteAPicture(shapeName As String, fromSheet As String, toSheet As String, toRange As String) 'Cut and Paste Sheets(fromSheet).Shapes(shapeName).Cut Sheets(toSheet).Paste Sheets(toSheet).Range(toRange) End Sub Sub Example() CutAndPasteAPicture "Picture 1", "Sheet1", "Sheet2", "D2" End Sub 

另一个例子:垂直移动一张图片以排列一个特定的行

 Sheets(1).Shapes("Picture 1").Top = Sheets(1).Rows(24).Top 

这里是首先插入图片到Excel,然后调整或调整图片的代码。 稍后将图片向下或向右移动

 'Insert the Picture from the path if its not present already Set myPict = Thisworkbook.sheets(1).Range("A1:B5").Parent.Pictures.Insert(ThisWorkbook.Path & "\" & "mypic.jpg") 'Adjust the Picture location myPict.Top = .Top myPict.Width = .Width myPict.Height = .Height myPict.Left = .Left myPict.Placement = xlMoveAndSize 'myPict.LockAspectRatio = msoTriStateMixed 'Change the width of the Picture myPict.Width = 85 'change the Height of the Picutre myPict.Height = 85 End With 'Select the Picutre myPict.Select 'Move down the picture to 3 points. Negative value move up Selection.ShapeRange.IncrementTop 3 'Move towards right upto 5 points. Negative value moves towards right Selection.ShapeRange.IncrementLeft 5