Як автоматично змінювати розмір фігури на основі / залежно від вказаного значення комірки в 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” буде змінено зі значенням в А2. Будь ласка, змініть їх, як вам потрібно.
Для автоматичного зміни розміру декількох фігур на основі різних значень комірок застосуйте наведений нижче код 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 для додатків вікна.
Відтепер, коли ви змінюєте значення в комірці А2, розмір фігури Овал 2 буде змінюватися автоматично. Дивіться знімок екрана:
Або змініть значення в комірках A1, A2 і A3, щоб автоматично змінити розмір відповідних фігур "Овал 1", "Смайлик 3" та "Серце 3". Дивіться знімок екрана:
примітки: Розмір фігури більше не змінюватиметься, коли значення комірки перевищує 10.
Список і експорт усіх фігур у поточній книзі Excel:
повне г, повне г,, показали, від, номер, XNUMX Експорт графіки корисність Kutools для Excel допоможе вам швидко перерахувати всі фігури у поточній книзі, і ви зможете експортувати їх усі одночасно до певної папки, як показано на екрані нижче shwon. Завантажте та спробуйте зараз! (30-денна безкоштовна траса)
Статті по темі:
- Як додати курсор миші до певної фігури в Excel?
- Як залити фігуру кольором прозорого фону в Excel?
- Як приховати або показати певну форму на основі вказаного значення комірки в Excel?
Найкращі інструменти для підвищення продуктивності офісу
Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%
- Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
- Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
- Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
- Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
- Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
- Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
- Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
- Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
- Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
















