#excel #vba
#excel #vba
Вопрос:
У меня есть следующий код, который работает для удаления всех срезов сводной таблицы с определенного листа. Однако, когда дело доходит до среза временной шкалы (xltimeline), он не удаляет его.
For Each Shape In Worksheets(SheetName).Shapes
If Shape.Type = msoSlicer Then Shape.Delete
Next Shape
Есть мысли о том, почему он не распознает срез временной шкалы как msoSlicer и не удаляет его? Я не уверен, как классифицировать временную шкалу, как будто это не msoSlicer.
Комментарии:
1. Можете ли вы проверить
Shape.Type
использование этой конкретной формыDebug.Print Shape.Type
и сообщить мне, так ли это на самом делеmsoSlicer
?2. насколько я понимаю, временная шкала имеет тип msoShapeTypeMixed
3. @JvdV возвращает значение -2 в качестве shape.type
4. Ну вот, это значение означает, что это действительно смешанный тип msoShapeTypeMixed, поэтому он не будет удален. Смотрите здесь
5. Спасибо вам обоим за вашу помощь! Это сработало!