KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de belirtilen hücre değerine göre şeklin boyutunu otomatik olarak nasıl ayarlarım?

YazarSiluvia Değiştirme Tarihi

Excel'de daireler, dikdörtgenler veya özel grafikler gibi şekiller, görsel zenginleştirme, pano oluşturma veya veri görselleştirme amacıyla sıkça kullanılır. Bazen bir şeklin boyutunun belirli bir hücredeki değeri dinamik olarak yansıtmasını isteyebilirsiniz—örneğin ilerleme göstergeleri oluşturmak, görsel durum panoları tasarlamak ya da raporlarınızı daha etkileşimli ve sezgisel hale getirmek için. Ancak Excel, şeklin boyutunu hücre içeriğine otomatik olarak bağlayan doğrudan bir yerleşik özelliğe sahip değildir. Bu makale, belirtilen bir hücrenin değerine göre şekillerin boyutunu otomatik olarak ayarlamak için pratik yöntemler sunar ve böylece Excel projelerinizi daha dinamik ve görsel olarak anlamlı hale getirmenize yardımcı olur.


Belirtilen hücre değerine göre şeklin boyutunu VBA koduyla otomatik olarak değiştirme

Bir şeklin, belirli bir hücreye girilen değere göre otomatik olarak boyutunu ayarlamasını sağlamak için VBA makrosundan yararlanabilirsiniz. Bu yöntem, pano öğelerinizi otomatikleştirmek veya verilerdeki değişiklikleri her şekli manuel olarak ayarlamadan görsel olarak vurgulamak istediğinizde özellikle etkilidir. Aşağıdaki VBA kodu, çalışma sayfanızdaki bir şeklin boyutunu bir hücre değerine bağlar.

Office Tab kullanarak belgeler arasında gezinin

Office Tab

Word, Excel, PowerPoint ve daha fazlası için sekme tabanlı gezinme—tıpkı bir web tarayıcısında olduğu gibi, tek pencerede sorunsuzca geçiş yapın.

Lütfen aşağıdaki adımları izleyin:

1. Yeniden boyutlandırmak istediğiniz şekli içeren sayfa sekmesine sağ tıklayın ve bağlam menüsünden Kodu Görüntüle seçeneğini seçin. Bu işlem, ilgili çalışma sayfasının kod düzenleyici penceresini açar.

2. Microsoft Visual Basic for Applications penceresinde, aşağıdaki VBA kodunu Kod penceresine kopyalayıp yapıştırın. Kodu, şeklinizin bulunduğu çalışma sayfasının kod sayfasına yapıştırdığınızdan emin olun.

VBA kodu: Excel'de belirtilen hücre değerine göre şeklin boyutunu otomatik olarak değiştirme

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

Açıklama ve önlemler:

  • Bu kodda, "Oval 2", yeniden boyutlandırmak istediğiniz şeklin adını belirtir. Bu adın, Seçim Bölmesi’nde gösterilen adla tam olarak eşleştiğinden emin olun (Giriş > Bul ve Seç > Seçim Bölmesi).
  • Kod, yalnızca A2 hücresine (Satır 2, Sütun 1) özel bir değişiklik yapıldığında tetiklenir. Farklı bir hücre kullanmak istiyorsanız, lütfen bu değerleri buna göre güncelleyin.
  • Şeklin boyutu, çapı santimetre cinsinden belirten hücre değerine göre ayarlanır. Aşırı boyutlandırmayı önlemek için kod, üst sınırı 10 cm ve alt sınırı 1 cm olarak tanımlar.
  • Bu aralığın dışına (1'den küçük veya 10'dan büyük) bir değer girerseniz, şekil en yakın sınıra göre otomatik olarak yeniden boyutlandırılır.
  • Belirtilen şekil adı bulunamadığında veya değer sayısal değilse, kod hata mesajı vermeden işlemi yoksayar.

Değere göre birden fazla şeklin farklı hücrelerde otomatik olarak yeniden boyutlandırılması gereken senaryolarda (örneğin, bir dizi görsel gösterge veya ölçüm aracı oluştururken), aşağıdaki VBA çözümünü genişletebilirsiniz.

VBA kodu: Excel'de farklı belirtilen hücrelerin değerlerine göre birden fazla şekli otomatik olarak yeniden boyutlandırma

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

Önemli notlar ve kullanım ipuçları:

1) Bu kodda, "Oval 1", "Smiley Face 3" ve "Heart 2" şekil adlarını göreceksiniz. Bunlar, yeniden boyutlandırmak istediğiniz şekilleri ifade eder. Adların Excel çalışma kitabı içinde gördüğünüz şekilde tam olarak eşleştiğinden emin olun.
2)A1,A2ve A3hücreleri, karşılık gelen şekillerin boyutlarını kontrol eder. Diğer hücre-şekil çiftlerini kullanmak istiyorsanız bu referansları değiştirebilirsiniz. Daha fazla şekil ve hücre eklemek için If...ElseIfbölümüne End Iföncesine benzer satırlar eklemeniz yeterlidir. Gerekli hücre adresini ve şekil adını doğru şekilde girin.

3. Kodu değiştirdikten ve kaydettikten sonra, çalışma sayfanıza dönmek için Alt+Q tuşlarına basarak Microsoft Visual Basic for Applications penceresini kapatın.

Artık A2 hücresindeki değeri değiştirdiğinizde, belirtilen "Oval2" şekli gerçek zamanlı olarak otomatik olarak yeniden boyutlanacak. Ekran görüntüsüne göz atın:

 belirli bir hücredeki değeri değiştirin, şekil boyutu otomatik olarak değişecektir

Benzer şekilde, A1, A2 veya A3 hücrelerindeki değerleri güncellediğinizde, "Oval 1", "Smiley Face 3" ve "Heart 2" şekilleri bağlı oldukları hücrelere göre anında boyutlarını otomatik olarak ayarlar. Aşağıdaki örneğe göz atın:

belirli hücrelerdeki değeri değiştirin, şekil boyutları otomatik olarak değişecektir

Ek hatırlatmalar:
- Yeniden boyutlandırma yalnızca belirtilen hücrelerdeki değerler değiştiğinde devreye girer. Şekli elle taşıyarak veya değiştirerek referans noktasını bozarsanız, şeklin konumunu sıfırlamanız gerekebilir.
- Yalnızca sayısal değerler beklenen şekilde çalışır. Boş hücreler ya da metin girdileri, şeklin minimum boyuta inmesine veya doğru şekilde ayarlanmamasına neden olabilir.
- VBA çözümleri makro izinleri gerektirir; bu nedenle Excel ortamınızda makroların etkin olduğundan emin olun.

Not: Hücre değeri 10'u (maksimum şekil boyutu 10 cm olarak ayarlı) aştığında, şekil boyutu artmaya devam etmez. Benzer şekilde, 1'den küçük değerler minimum boyut olan 1 cm'ye yuvarlanır.

Sorun Giderme İpuçları: Yeniden boyutlandırma beklenen şekilde çalışmıyorsa, şekil adlarının ve hücre referanslarının tam olarak eşleştiğini, makroların etkin olduğunu ve çalışma sayfasında koruma kısıtlaması bulunmadığını tekrar kontrol edin. Çalışma zamanı hatası alırsanız, belirtilen şekillerin etkin çalışma sayfasında bulunduğundan ve adlarının doğru yazıldığından emin olun.

Özet öneri:VBA yöntemi, dinamik ve gerçek zamanlı yeniden boyutlandırma sağlar; etkileşimli panolar ile veri odaklı raporlar için idealdir. Ancak şekil adlandırması, VBA ortamının anlaşılması ve kodun korunabilmesi için çalışma kitabının makro etkin bir dosya ().xlsm) olarak kaydedilmesini gerektirir. Bu yöntem, otomasyonun gerekli olduğu ve çalışma kitabında makro işlevlerinin kabul edilebilir olduğu durumlar için uygundur.


Referansa göre manuel şekil yeniden boyutlandırma

Şekil boyutlarını yalnızca ara sıra ayarlamanız gerekiyorsa veya makro kullanmadan daha basit bir yöntem tercih ediyorsanız, şekil boyutunu gerektiğinde hücre değerine uyacak şekilde manuel olarak ayarlayabilirsiniz. Bu yaklaşım, otomasyonun kritik olmadığı ya da makro kullanımının kısıtlandığı senaryolar için idealdir.

Yeniden boyutlandırmak istediğiniz şekle tıklayın, ardından Şekli Biçimlendir bölmesinde (şekle sağ tıklayın > Boyut ve Özellikler) genişlik ve yükseklik değerlerini manuel olarak girin. Bu alanlara hücre değerlerinden de referans verebilirsiniz. Otomatik olmasa da bu yöntem, tek seferlik ayarlamalar için basit ve etkilidir.

İpucu: Bu yaklaşımda, şekil ile hücre arasında bağlantı olmadığı için hücre değerleri değiştiğinde şekil boyutunu manuel olarak güncellemeniz gerekir. Bu yöntem, makrolardan kaynaklanan güvenlik uyarılarından kaçınmanıza olanak tanır; ancak gerçek zamanlı görsel güncellemeleri desteklemez.

Geçerli Excel çalışma kitabı içindeki tüm şekilleri listele ve dışa aktar:

Grafik Dışa Aktar yardımcı programıyla, Kutools for Excel sayesinde Geçerli Çalışma Kitabı’ndaki tüm şekilleri anında listeleyebilir ve aşağıdaki ekran görüntüsünde gösterildiği gibi hepsini aynı anda belirttiğiniz klasöre aktarabilirsiniz. Hemen indirip deneyin! (30 günlük ücretsiz deneme)Download and try it now! (30-day free trial)

kutools ile geçerli Excel'deki tüm şekilleri dışa aktarın


İlgili makaleler:


En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Dikey Arama (VLookup)  |  Çoklu Değerli Dikey Arama (VLookup)  |   Birden Fazla Sayfada Dikey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste…
Sütun Yöneticisi:Belirli Sayıda Sütun Ekle|Sütunları Taşı|Gizli Sütunların Görünürlük Durumunu Aç/Kapat|Aralıkları ve Sütunları Karşılaştır…
Öne Çıkan Özellikler:Izgara Odaklama   |  Tasarım Görünümü   |Gelişmiş formül çubuğu   | Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En Çok Kullanılan 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ başka dillerde de desteklenir!

Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!

Tüm Kutools eklentileri — tek bir kurulum dosyasında!

Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar