Я предполагаю, что это потому, что фигура является лишь компонентом командной кнопки. Как обходной путь, я получил это, хотя я не уверен на 100%, почему это происходит:
If sh.Name = "startB" Then
sh.OLEFormat.Object.Visible = False
End If
Который работает нормально. Я немного растерялся, потому что я привык к Excel, где я мог напрямую ссылаться на вещи как OLEObject.Object, но даже если вы все еще ссылаетесь на OLEObjects, OLEFormat кажется немного другим. Просто некоторые проблемы обвивают мою голову.