Из-за этой проблемы с изменением размера объектов ActiveX я не группирую свои объекты ActiveX на своем листе Excel. Группировка их приводит к тому, что мой взлом решения не работает, что довольно раздражает.

Однако я часто хочу иметь возможность по существу использовать мышь и выбирать область, а затем выбирать все объекты ActiveX, содержащиеся в этой области. Это также было бы полезно для простого выбора объектов для их первоначальной группировки.

В принципе:

  • Используйте мышь, чтобы выбрать область
  • Автоматический выбор всех компонентов ActiveX в регионе

Я в порядке с решением VBA, если это необходимо.

Как я могу это сделать?

1 ответ1

1

Рассматривать:

Sub ShapePicker()
    Dim sh As Shape, st As Variant, Llist As String
    Dim ty As String
    Dim nm As String
    Dim r As Range

    Dim ary As Variant

    For Each sh In ActiveSheet.Shapes
        ty = sh.Type
        nm = sh.name
        Set r = sh.TopLeftCell
        If ty = msoOLEControlObject Then
            If Not Intersect(r, Selection) Is Nothing Then
                If Llist = "" Then
                    Llist = nm
                Else
                    Llist = Llist & "," & nm
                End If
            End If
        End If
    Next sh
    ary = Split(Llist, ",")
    ActiveSheet.Shapes.Range((ary)).Select
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .