Interesting way to handle it. The solution I applied to my situation was different than the one I came up with for Aaron, and much simpler. My objects are all linked to cells, and are positioned directly on those cells, so all I need to do is loop through them and reposition to the cell location. This didn't work for Aaron because his objects weren't linked to cells. Here's the code:![]()
Dim obj As Object ActiveSheet.UnProtect For Each obj In ActiveSheet.OLEObjects With obj If Left(.Name, 5) = "Combo" Then .Height = 15.75 If .LinkedCell = "#REF" Or .LinkedCell = "" Then MsgBox .Name & " Linkcell = " & .LinkedCell Else .Top = Range(.LinkedCell).Top End If End If End With Next ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Bookmarks