To add picture 'myPic' (and onAction property) to Active worksheet("Item_Files"): I write this:
Set wsIF = ThisWorkbook.Worksheets("Item_Files")
With Range(Cells(3, 1), Cells(3, 1))
ActiveSheet.Shapes.AddPicture "D:\path\myPic.jpg", msoCTrue, msoTrue, .Left, .Top, -1, -1
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Height = .Height
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).OnAction = "item_Files_shapeButtons"
End With
- But, several pics are to be added at same time, and worksheet("Item_Files") is INACTIVE
------------
After a struggle, I found the code below added picture 'myPic' (and onAction property) to INactive worksheet("Item_Files"):
Set wsIF = ThisWorkbook.Worksheets("Item_Files")
With wsIF.Range("X1")
wsIF.Shapes.AddPicture "D:\path\myPic.jpg", msoCTrue, msoTrue, .Left + 1, .Top + 1, -1, -1
wsIF.Shapes(wsIF.Shapes.Count).Height = .Height
wsIF.Shapes(wsIF.Shapes.Count).OnAction = "item_Files_shapeButtons"
End With
- One or more pics were delivered to the right sheet and cell, but to display the pics I had to Activate wsIF (ie worksheet("Item_Files")), by clicking its tab.
Since clicking the tab is essential to see the result, I dont object to that (I only mention it in case you see signs of a flaw in my code)
But this is my first experience of adding pictures, and my next task is the add and remove some dynamically.
Each time I add a pic, I need to add wsIF.Shapes(wsIF.Shapes.Count).NAME to a lookup list on another sheet.
So I need to repeatedly alternate between sheets.
THEREFORE I ask: is my code optimal - and what should I take on board for this exercise?
Many thanks
Kelvin4