Try something like this.
Note that this is just an example, not finished code.
;; CAB 11.05.2007
;; Get a selection set of thawed objects with matching area and layer in current space
(defun AreaMatch (/ ent obj Area2match lst ss ss2)
(vl-load-com)
(while
(not
(and
(or (setq ent (car (entsel "\nSelect object to match area & layer.")))
(prompt "\nMissed, try again."))
(setq obj (vlax-ename->vla-object ent))
(or (vlax-property-available-p obj 'area)
(prompt "\nNo Area for that object, try again."))
)
)
)
(setq Area2match (vla-get-area obj)
ss2 (ssadd)
)
(if (setq ss (ssget "All" (list (cons 8 (vla-get-layer obj))
(cons 410 (getvar "ctab")))))
(progn
(setq lst (mapcar 'vlax-ename->vla-object (mapcar 'cadr (ssnamex ss))))
(mapcar
'(lambda (x)
(if (and (vlax-property-available-p x 'area)
(equal Area2match (vla-get-area x) 0.001))
(ssadd (vlax-vla-object->ename x) ss2)
)
)
lst
)
)
)
(if (and ss (not(zerop(sslength ss2))))
ss2
)
)
(defun c:test( / ss)
(if (setq ss (AreaMatch))
(command "_.move" ss "")
)
(princ)
)