Как автоматично да променя размера на формата въз основа/в зависимост от определена стойност на клетка в Excel?
Ако искате автоматично да промените размера на формата въз основа на стойността на определена клетка, тази статия може да ви помогне.
Автоматична промяна на размера на формата въз основа на определена стойност на клетка с VBA код
Автоматична промяна на размера на формата въз основа на определена стойност на клетка с VBA код
Следният VBA код може да ви помогне да промените определен размер на фигура въз основа на определена стойност на клетка в текущия работен лист. Моля, направете следното.
1. Щракнете с десния бутон върху раздела на листа с формата, която трябва да промените размера, и след това щракнете Преглед на кода от менюто с десен бутон.
2. В Microsoft Visual Basic за приложения прозорец, копирайте и поставете следния VBA код в прозореца на кода.
VBA код: Автоматична промяна на размера на формата въз основа на определена стойност на клетка в 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
Забележка: В кода „Овал 2” е името на формата, чиито размер ще промените. И Ред = 2, Колона = 1 означава, че размерът на формата „Овал 2“ ще бъде променен със стойността в A2. Моля, сменете ги според нуждите си.
За автоматично преоразмеряване на множество форми въз основа на различни стойности на клетки, моля, приложете следния VBA код.
VBA код: Автоматично преоразмеряване на множество фигури въз основа на стойността на различни посочени клетки в 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
Забележки:
3. Натиснете Друг + Q клавиши едновременно, за да затворите Microsoft Visual Basic за приложения прозорец.
Отсега нататък, когато промените стойността в клетка A2, размерът на форма Oval 2 ще се промени автоматично. Вижте екранна снимка:
Или променете стойностите в клетка A1, A2 и A3, за да преоразмерите автоматично съответните фигури „Овал 1“, „Усмихнато лице 3“ и „Сърце 3“. Вижте екранна снимка:
Забележка: Размерът на формата вече няма да се променя, когато стойността на клетката е по-голяма от 10.
Избройте и експортирайте всички форми в текущата работна книга на Excel:
- Експортиране на графики полезност на Kutools за Excel ви помага бързо да изброите всички фигури в текущата работна книга и можете да ги експортирате всички в определена папка наведнъж, както се показва екранната снимка по-долу. Изтеглете и опитайте сега! (30-дневна безплатна пътека)
Още по темата:
- Как да добавите съвет с мишката върху определена форма в Excel?
- Как да запълня форма с прозрачен цвят на фона в Excel?
- Как да скриете или покажете определена форма въз основа на определена стойност на клетка в Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!