我希望用户将图像粘贴到工作表中,然后自动将其粘贴到第二个工作表中。我发现一些VB代码可以使我接近,但无法弄清楚如何完成它。图像会因用户而异,但是我希望用户将图像粘贴到E4后立即执行操作。
我发现了这段代码,虽然有帮助,但它不是自动的。
Sub InsertLogo2()
Dim strPath As String
Dim shtSheet As Worksheet
strPath = "C:\GraphicFolder\PictureName.bmp"
For Each shtSheet In Worksheets
shtSheet.Activate
Range("A1").Select
ActiveSheet.Pictures.Insert (strPath)
Next shtSheet
Set shtSheet = Nothing
End Sub
我是VBA的新手,所以真的为此感到挣扎。
谢谢!
答案 0 :(得分:1)
您可以使用第二张纸的Worksheet_Activate
事件来检查第一张纸上的图像并复制找到的任何图像。
Private Sub Worksheet_Activate()
Dim shp As Shape, n As Long
Application.ScreenUpdating = False
Do While Me.Shapes.Count > 0
Me.Shapes(1).Delete
Loop
n = 1
For Each shp In Sheets("Sheet1").Shapes
shp.Copy
Me.Paste
With Me.Shapes(n)
.Left = shp.Left
.Top = shp.Top
End With
n = n + 1
Next shp
Me.Range("A1").Select
Application.ScreenUpdating = True
End Sub
这是否合适取决于您的确切用例。
注意-如果您的用户想要在剪贴板中粘贴某些东西,这可能会很烦人。