Спасибо, еще добавил переключение листа, а то отображал позиции на активном:
oBalloon.Parent.Activate()
А про приближение рамкой - это как делается?
Хотя лучше применение вида, чтобы весь лист виден был, как при открытии чертежа, т.к. в принципе выделенные позиции достаточно сложно не заменить, да и бывают случаи, когда одна позиция несколько раз показывается.