Przejdź do głównej zawartości

Jak automatycznie zmienić rozmiar kształtu na podstawie / w zależności od określonej wartości komórki w programie Excel?

Autor: Silvia Ostatnia modyfikacja: 2024-09-26

Jeśli chcesz automatycznie zmienić rozmiar kształtu na podstawie wartości określonej komórki, ten artykuł może Ci pomóc.

Automatycznie zmieniaj rozmiar kształtu na podstawie określonej wartości komórki za pomocą kodu VBA


Automatycznie zmieniaj rozmiar kształtu na podstawie określonej wartości komórki za pomocą kodu VBA

Poniższy kod VBA może pomóc w zmianie określonego rozmiaru kształtu na podstawie określonej wartości komórki w bieżącym arkuszu. Wykonaj następujące czynności.

1. Kliknij prawym przyciskiem myszy zakładkę arkusza z kształtem, którego rozmiar chcesz zmienić, a następnie kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy.

2. w Microsoft Visual Basic for Applications okno, skopiuj i wklej następujący kod VBA do okna Code.

Kod VBA: Automatyczna zmiana rozmiaru kształtu na podstawie określonej wartości komórki w programie 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: W kodzie „Owalny 2”To nazwa kształtu, którego rozmiar zmienisz. I Rząd = 2, Kolumna = 1 oznacza, że ​​rozmiar kształtu „Owal 2” zostanie zmieniony na wartość z A2. Zmień je według potrzeb.

Aby automatycznie zmienić rozmiar wielu kształtów na podstawie różnych wartości komórek, zastosuj poniższy kod VBA.

Kod VBA: Automatycznie zmieniaj rozmiar wielu kształtów na podstawie różnych określonych wartości komórek w programie 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

Uwagi:

1) W kodzie „Owalny 1","Buźka 3"I"Serce 3”To nazwy kształtów, których rozmiary zmienisz automatycznie. I A1, A2 iA3 to komórki, na podstawie których automatycznie zmieniasz rozmiar kształtów.
2) Jeśli chcesz dodać więcej kształtów, dodaj linie "ElseIf xAddress = "A3" Następnie" i „Call SizeCircle („ Heart 2 ”, Val (Target.Value))„powyżej pierwszego”End If”w kodzie. Zmień adres komórki i nazwę kształtu w zależności od potrzeb.

3. naciśnij inny + Q klawisze jednocześnie, aby zamknąć Microsoft Visual Basic for Applications okno.

Od teraz, gdy zmienisz wartość w komórce A2, rozmiar kształtu Oval 2 zostanie automatycznie zmieniony. Zobacz zrzut ekranu:

zmień wartość w określonej komórce, a rozmiar kształtu zmieni się automatycznie

Lub zmień wartości w komórkach A1, A2 i A3, aby automatycznie zmienić rozmiar odpowiednich kształtów „Owal 1”, „Buźka 3” i „Serce 3”. Zobacz zrzut ekranu:

zmień wartość w określonych komórkach, a rozmiar kształtów zmieni się automatycznie

Note: Rozmiar kształtu nie będzie się już zmieniać, gdy wartość komórki będzie większa niż 10.


Wyświetl i wyeksportuj wszystkie kształty w bieżącym skoroszycie programu Excel:

Eksportuj grafikę użyteczność Kutools for Excel pomagają szybko wyświetlić wszystkie kształty w bieżącym skoroszycie i możesz wyeksportować je wszystkie do określonego folderu naraz, jak pokazano na poniższym zrzucie ekranu. Pobierz i wypróbuj teraz! (30-dniowy bezpłatny szlak)

eksportuj wszystkie kształty w bieżącym programie Excel za pomocą kutools


Podobne artykuły:

Najlepsze narzędzia biurowe

🤖 Kutools Doradca AI: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  odwołać się Kutools Funkcje...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej
Zastosowanie Kutools w wybranym przez Ciebie języku – obsługujemy język angielski, hiszpański, niemiecki, francuski, chiński i ponad 40 innych!

Udoskonal swoje umiejętności obsługi programu Excel dzięki Kutools for Exceli ciesz się wydajnością, jakiej nigdy dotąd nie doświadczyłeś. Kutools for Excel Oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...


Office Tab Wprowadza interfejs z kartami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!