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