Compartilhar via


Objeto Formas (Excel)

Uma coleção de todos os objetos da Forma na folha especificada.

Comentários

Cada objeto Shape representa um objeto na camada de desenho, como uma AutoForma, uma forma livre, um objeto OLE ou uma imagem.

Observação

Se quiser trabalhar com um subconjunto das formas num documento( por exemplo, para fazer algo apenas para as formas automáticas no documento ou apenas para as formas selecionadas), tem de construir uma coleção ShapeRange que contenha as formas com as quais pretende trabalhar.

Exemplo

Utilize a propriedade Formas do objeto Folha de Cálculo para devolver a coleção Formas . O exemplo seguinte seleciona todas as formas em myDocument.

Observação

Se quiser fazer algo (como eliminar ou definir uma propriedade) para todas as formas numa folha ao mesmo tempo, selecione todas as formas e, em seguida, utilize a propriedade ShapeRange na seleção para criar um objeto ShapeRange que contém todas as formas na folha e, em seguida, aplique a propriedade ou método adequado ao objeto ShapeRange .

Set myDocument = Worksheets(1) 
myDocument.Shapes.SelectAll

Utilize Formas (índice), em que índice é o nome da forma ou número de índice, para devolver um único objeto Forma . O exemplo a seguir define o preenchimento para um sombreamento predefinido para a forma um em myDocument.

Set myDocument = Worksheets(1) 
myDocument.Shapes(1).Fill.PresetGradient _ 
 msoGradientHorizontal, 1, msoGradientBrass

Utilize Intervalo (índice), em que índice é o nome ou número de índice da forma ou uma matriz de nomes de formas ou números de índice, para devolver uma coleção ShapeRange que representa um subconjunto da coleção Formas . O exemplo a seguir define o padrão de preenchimento para as formas um e três no myDocument.

Set myDocument = Worksheets(1) 
myDocument.Shapes.Range(Array(1, 3)).Fill.Patterned _ 
 msoPatternHorizontalBrick

Um controle ActiveX em uma planilha tem dois nomes: o nome da forma que contém o controle que você pode ver na caixa Name ao exibir a planilha e o nome de código para o controle, que pode ser visto na célula à direita do (Name) na janela de propriedades. Quando você adiciona um controle em uma planilha pela primeira vez, nome da forma e nome do código correspondem. No entanto, se alterar o nome da forma ou o nome do código, o outro não será alterado automaticamente para corresponder.

Você pode usar o nome do código de um controle nos nomes de seus procedimentos de evento. Entretanto, quando você retornar um controle da coleção Shapes ou OLEObjects para uma planilha, deverá usar o nome da forma, e não o nome do código, para fazer referência ao controle por nome. Por exemplo, suponha que você adicione uma caixa de seleção a uma planilha e que o nome da forma padrão e o nome do código padrão sejam CaixadeSeleção1. Se você alterar o nome do código do controle digitando chkFinished ao lado de (Nome) na janela Propriedades, deverá usar chkFinished nos nomes de procedimentos de eventos, mas ainda aterá de usar CaixadeSeleção1 para retornar o controle da coleção Shapes ou OLEObject, como mostrado no exemplo a seguir.

Private Sub chkFinished_Click() 
 ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1 
End Sub

Métodos

Propriedades

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.