Como selecionar todos os objetos ActiveX em uma área usando um mouse no Excel?

0

Por causa do problema com os objetos ActiveX alterando o tamanho, não estou agrupando meus objetos ActiveX na planilha do Excel. Agrupá-los faz a minha solução hackar para não funcionar, o que é bastante irritante.

No entanto, muitas vezes quero usar essencialmente o mouse, selecionar uma região e selecionar todos os objetos ActiveX contidos na região. Isso também seria útil para selecionar facilmente objetos para agrupá-los inicialmente.

Basicamente:

  • Use o mouse para selecionar a área
  • Selecionar automaticamente todos os componentes ActiveX na região

Estou bem com uma solução VBA, se necessário.

Como posso fazer isso?

    
por enderland 31.10.2013 / 17:23

1 resposta

1

Considere:

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
    
por 31.10.2013 / 21:53