Como alterar automaticamente o tamanho da forma com base/dependente do valor de uma célula específica no Excel?
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:
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:
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:
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)
Artigos relacionados:
- Como adicionar uma dica ao passar o mouse sobre uma determinada forma no Excel?
- Como preencher uma forma com cor de fundo transparente no Excel?
- Como ocultar ou exibir uma determinada forma com base no valor de uma célula específica no Excel?
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!