Como alterar automaticamente o tamanho da forma com base / dependente do valor da célula especificado no Excel?
Se você deseja alterar automaticamente o tamanho da forma com base no valor de uma célula especificada, este artigo pode ajudá-lo.
Alterar automaticamente o tamanho da forma com base no valor da célula especificado com código VBA
Alterar automaticamente o tamanho da forma com base no valor da célula especificado com código VBA
O código VBA a seguir pode ajudá-lo a alterar um determinado tamanho de forma com base no valor de célula especificado na planilha atual. Faça o seguinte.
1. Clique com o botão direito na guia da folha com a forma necessária para alterar o tamanho e clique em Ver código no menu do botão direito.
2. No Microsoft Visual Basic para Aplicações janela, copie e cole o seguinte código VBA na janela de código.
Código VBA: altera automaticamente o tamanho da forma com base no valor de célula especificado 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
Nota: No código, “Oval 2”É o nome da forma, você alterará seu tamanho. E Linha = 2, Coluna = 1 significa que o tamanho da forma “Oval 2” será alterado com o valor em A2. Altere-os conforme necessário.
Para redimensionar automaticamente várias formas com base em diferentes valores de células, aplique o código VBA abaixo.
Código VBA: redimensiona automaticamente várias formas com base no valor de diferentes células especificadas 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:
3. Pressione outro + Q simultaneamente para fechar o Microsoft Visual Basic para Aplicações janela.
A partir de agora, quando você alterar o valor na célula A2, o tamanho da forma Oval 2 será alterado automaticamente. Veja a imagem:
Ou altere os valores nas células A1, A2 e A3 para redimensionar as formas correspondentes "Oval 1", "Smiley Face 3" e "Coração 3" automaticamente. Veja a imagem:
Nota: O tamanho da forma não mudará mais quando o valor da célula for maior que 10.
Liste e exporte todas as formas na pasta de trabalho atual do Excel:
O Exportar Gráficos utilidade de Kutools for Excel ajudá-lo a listar rapidamente todas as formas na pasta de trabalho atual, e você pode exportá-los todos para uma determinada pasta de uma vez, como mostrado na imagem abaixo. Baixe e experimente agora! (30-dia de trilha livre)
Artigos relacionados:
- Como adicionar a ponta do mouse sobre uma determinada forma no Excel?
- Como preencher uma forma com uma cor de fundo transparente no Excel?
- Como ocultar ou reexibir uma determinada forma com base no valor de célula especificado no Excel?
As melhores ferramentas de produtividade para escritório
O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
- armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
- Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
- Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
- Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
- Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
- Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
- Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
- Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
- Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
















