Мультивыбор Excel - PullRequest
       11

Мультивыбор Excel

0 голосов
/ 05 июля 2018

Я бы хотел установить Multi-select как настройку по умолчанию для трех слайсеров на приборной панели.

Я написал три (по одной на слайсер) короткие процедуры, которые выглядят так:

Sub msel() 

 ActiveSheet.Shapes.Range(Array("Slicer1")).Select 
 SendKeys "%s" 
 SendKeys "(ESC)" 

End Sub

При независимом вызове процедуры работают. Когда я пытаюсь вызвать их три из другого Sub, работает только последний Call (то есть, только один слайсер находится в режиме Multi-select).

Любое руководство будет высоко оценено.

*** что-то вроде этого (см. Ниже) имеет тот же эффект:

Sub All()

Dim sCache As SlicerCache
Dim sl As Slicer

For Each sCache In ActiveWorkbook.SlicerCaches
    For Each sl In sCache.Slicers
        sl.Shape.Select
        SendKeys "%s"
        SendKeys "{ESC}"
    Next sl
Next sCache

End Sub

1 Ответ

0 голосов
/ 05 июля 2018

Я подозреваю, что Excel зацикливается слишком быстро, чтобы SendKeys работали. Если я добавлю DoEvents после вашего второго SendKeys, он прекрасно работает для меня.

...