Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

Como alterar automaticamente o tamanho da forma com base/dependente do valor de uma célula específica no Excel?

Author Siluvia Last modified

Se você deseja alterar automaticamente o tamanho da forma com base no valor de uma célula específica, este artigo pode ajudá-lo.

Alteração automática do tamanho da forma com base no valor de uma célula específica com código VBA


Alteração automática do tamanho da forma com base no valor de uma célula específica com código VBA

O seguinte código VBA pode ajudá-lo a alterar o tamanho de uma determinada forma com base no valor de uma célula específica na planilha atual. Por favor, siga os passos abaixo.

1. Clique com o botão direito na guia da planilha com a forma cujo tamanho precisa ser alterado e, em seguida, clique em Visualizar Código no menu de contexto.

2. Na janela Microsoft Visual Basic for Applications, copie e cole o seguinte código VBA na janela de Código.

Código VBA: Alteração automática do tamanho da forma com base no valor de uma célula específica no Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Row = 2 And Target.Column = 1 Then
        Call SizeCircle("Oval 2", Val(Target.Value))
    End If
End Sub
Sub SizeCircle(Name As String, Diameter)
    Dim xCenterX As Single
    Dim xCenterY As Single
    Dim xCircle As Shape
    Dim xDiameter As Single
    On Error GoTo ExitSub
    xDiameter = Diameter
    If xDiameter > 10 Then xDiameter = 10
    If xDiameter < 1 Then xDiameter = 1
    Set xCircle = ActiveSheet.Shapes(Name)
    With xCircle
        xCenterX = .Left + (.Width / 2)
        xCenterY = .Top + (.Height / 2)
        .Width = Application.CentimetersToPoints(xDiameter)
        .Height = Application.CentimetersToPoints(xDiameter)
        .Left = xCenterX - (.Width / 2)
        .Top = xCenterY - (.Height / 2)
    End With
ExitSub:
End Sub

Observação: No código, “Oval 2” é o nome da forma cujo tamanho será alterado. E Linha = 2, Coluna = 1 significa que o tamanho da forma “Oval 2” será alterado com base no valor em A2. Altere-os conforme necessário.

Para redimensionar automaticamente várias formas com base em diferentes valores de células, aplique o seguinte código VBA.

Código VBA: Redimensionamento automático de múltiplas formas com base em diferentes valores de células específicas no Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xAddress As String
    On Error Resume Next
    If Target.CountLarge = 1 Then
        xAddress = Target.Address(0, 0)
        If xAddress = "A1" Then
            Call SizeCircle("Oval 1", Val(Target.Value))
        ElseIf xAddress = "A2" Then
            Call SizeCircle("Smiley Face 3", Val(Target.Value))
        ElseIf xAddress = "A3" Then
            Call SizeCircle("Heart 2", Val(Target.Value))
        End If
    End If
End Sub

Sub SizeCircle(Name As String, Diameter)
    Dim xCenterX As Single
    Dim xCenterY As Single
    Dim xCircle As Shape
    Dim xDiameter As Single
    On Error GoTo ExitSub
    xDiameter = Diameter
    If xDiameter > 10 Then xDiameter = 10
    If xDiameter < 1 Then xDiameter = 1
    Set xCircle = ActiveSheet.Shapes(Name)
    With xCircle
        xCenterX = .Left + (.Width / 2)
        xCenterY = .Top + (.Height / 2)
        .Width = Application.CentimetersToPoints(xDiameter)
        .Height = Application.CentimetersToPoints(xDiameter)
        .Left = xCenterX - (.Width / 2)
        .Top = xCenterY - (.Height / 2)
    End With
ExitSub:
End Sub

Notas:

1) No código, “Oval 1”, “Smiley Face 3” e “Heart 3” são os nomes das formas cujos tamanhos serão alterados automaticamente. E A1, A2 e A3 são as células cujos valores serão usados para redimensionar automaticamente as formas.
2) Se você quiser adicionar mais formas, adicione as linhas "ElseIf xAddress = "A3" Then" e "Call SizeCircle("Heart 2", Val(Target.Value))" acima da primeira linha "End If" no código. Altere o endereço da célula e o nome da forma conforme suas necessidades.

3. Pressione simultaneamente as teclas Alt + Q para fechar a janela Microsoft Visual Basic for Applications.

A partir de agora, quando você alterar o valor na célula A2, o tamanho da forma Oval 2 será alterado automaticamente. Veja a captura de tela:

 change the value in a specific cell , the size of shape will be changed automatically

Ou altere os valores nas células A1, A2 e A3 para redimensionar automaticamente as formas correspondentes “Oval 1”, “Smiley Face 3” e “Heart 3”. Veja a captura de tela:

change the value in a specific cells , the size of shapes will be changed automatically

Observação: O tamanho da forma não será mais alterado quando o valor da célula for maior que 10.


Listar e exportar todas as formas na pasta de trabalho atual do Excel:

O utilitário Exportar Gráficos do Kutools para Excel ajuda você a listar rapidamente todas as formas na pasta de trabalho atual, e você pode exportá-las todas de uma vez para uma pasta específica, como mostra a captura de tela abaixo. Faça o download e experimente agora! (30-dia de teste grátis)

export all shapes in current Excel by kutools


Artigos relacionados:

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com: Execução Inteligente   |  Gerar Código  |  Criar Fórmulas Personalizadas  |  Analisar Dados e Gerar Gráficos  |  Chamar Funções Aprimoradas
Recursos Populares: Localizar, Destacar ou Marcar Duplicatas   |  Excluir Linhas em Branco   |  Consolidar Colunas ou Células sem Perder Dados   |   Arredondar...
Super PROC: Procura por múltiplos critérios    Procura por múltiplos valores  |   Procura em várias planilhas   |   Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente Lista suspensa  |  Lista suspensa dependente  |  Lista suspensa com múltipla seleção ...
Gerenciador de Colunas: Adicionar número específico de colunas  | Mover Colunas  | Alternar status de visibilidade de Colunas ocultas |  Comparar Intervalos & Colunas...
Recursos em Destaque: Grade de foco   |  Visualização de Design  |  Barra de fórmulas aprimorada    Gerenciador de Pasta de trabalho & Planilha   |  Biblioteca de AutoTexto (Auto Text)   |  Selecionador de Data   |  Mesclar Dados   |  Criptografar/Descriptografar Células    Enviar Email por Lista   |  Super Filtro   |   Filtro Especial (filtrar negrito/itálico/tachado...) ...
Os 15 Principais Conjuntos de Ferramentas: 12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...)  | 50+ Tipos de Gráficos (Gráfico de Gantt, ...)  | 40+ Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...)  | 19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem pelo Caminho, ...)  | 12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...)  | 7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ...e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 idiomas!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para acessar o recurso que você mais precisa...


Office Tab traz interface com abas para o Office e facilita muito seu trabalho

  • Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
  • Aumente sua produtividade em50% e economize centenas de cliques todos os dias!

Todos os complementos Kutools. Um instalador

O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.

Excel Word Outlook Tabs PowerPoint
  • Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Um instalador, uma licença — configuração em minutos (pronto para MSI)
  • Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
  • Avaliação completa por30 dias — sem registro e sem cartão de crédito
  • Melhor custo-benefício — economize comparado à compra individual de add-ins