Come modificare automaticamente la dimensione della forma in base / dipendente dal valore di cella specificato in Excel?
Se desideri modificare automaticamente la dimensione della forma in base al valore di una cella specificata, questo articolo può aiutarti.
Modifica automaticamente la dimensione della forma in base al valore della cella specificato con il codice VBA
Il seguente codice VBA può aiutarti a modificare una certa dimensione della forma in base al valore della cella specificato nel foglio di lavoro corrente. Si prega di fare quanto segue.
1. Fare clic con il pulsante destro del mouse sulla scheda del foglio con la forma necessaria per modificare le dimensioni, quindi fare clic su Visualizza codice dal menu di scelta rapida.
2. Nel Microsoft Visual Basic, Applications Edition finestra, copia e incolla il seguente codice VBA nella finestra del codice.
Codice VBA: modifica automatica delle dimensioni della forma in base al valore della cella specificato in 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:: Nel codice, "Oval 2"È il nome della forma di cui cambierai le dimensioni. E Riga = 2, Colonna = 1 significa che la dimensione della forma "Ovale 2" verrà modificata con il valore in A2. Si prega di cambiarli come necessario.
Per il ridimensionamento automatico di più forme in base a diversi valori di cella, applica il codice VBA sottostante.
Codice VBA: ridimensiona automaticamente più forme in base al valore di celle specificate diverse in 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
Note:
3. Stampa altro + Q contemporaneamente i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.
D'ora in poi, quando modifichi il valore nella cella A2, la dimensione della forma Ovale 2 verrà modificata automaticamente. Vedi screenshot:
Oppure modificare i valori nelle celle A1, A2 e A3 per ridimensionare automaticamente le forme corrispondenti "Ovale 1", "Faccina 3" e "Cuore 3". Vedi screenshot:
Note:: La dimensione della forma non cambierà più quando il valore della cella è maggiore di 10.
Elenca ed esporta tutte le forme nella cartella di lavoro Excel corrente:
Le Esporta grafica utilità di Kutools for Excel ti aiuta a elencare rapidamente tutte le forme nella cartella di lavoro corrente e puoi esportarle tutte in una determinata cartella contemporaneamente mentre viene visualizzato lo screenshot qui sotto. Scaricalo e provalo ora! (Percorso gratuito di 30 giorni)
Articoli correlati:
- Come aggiungere il mouse sulla punta a una determinata forma in Excel?
- Come riempire una forma con un colore di sfondo trasparente in Excel?
- Come nascondere o mostrare una certa forma in base al valore di cella specificato in Excel?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!