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
Note: 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
Observações:
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:
Note: 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:
A 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! (trilha gratuita de 30 dias)
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?
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab 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!