Excel'de belirli bir hücre değerine bağlı olarak şeklin boyutunu otomatik olarak nasıl değiştirebilirsiniz?
Eğer belirli bir hücrenin değerine göre şekil boyutunu otomatik olarak değiştirmek istiyorsanız, bu makale size yardımcı olabilir.
VBA kodu ile belirli bir hücre değerine dayalı şekil boyutunu otomatik değiştirme
VBA kodu ile belirli bir hücre değerine dayalı şekil boyutunu otomatik değiştirme
Aşağıdaki VBA kodu, geçerli çalışma sayfasındaki belirli bir hücre değerine göre belirli bir şeklin boyutunu değiştirmenize yardımcı olabilir. Lütfen şu adımları izleyin.
1. Boyutunu değiştirmek istediğiniz şekle sahip sayfa sekmesine sağ tıklayın ve ardından sağ tıklama menüsünden Kodu Görüntüle'yi seçin.
2. Microsoft Visual Basic for Applications penceresinde, aşağıdaki VBA kodunu Kod penceresine kopyalayıp yapıştırın.
VBA kodu: Excel'de belirli bir hücre değerine göre şekil boyutunu otomatik 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
Not: Kodda, “Oval 2” boyutunu değiştireceğiniz şeklin adıdır. Ve Satır = 2, Sütun = 1, “Oval 2” şeklinin boyutunun A2 hücresindeki değere göre değişeceği anlamına gelir. Lütfen bunları ihtiyaçlarınıza göre değiştirin.
Farklı hücre değerlerine göre birden fazla şekli otomatik olarak yeniden boyutlandırmak için lütfen aşağıdaki VBA kodunu uygulayın.
VBA kodu: Excel'de farklı belirtilen hücrelerin değerlerine göre birden fazla şekli otomatik 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
Notlar:
3. Microsoft Visual Basic for Applications penceresini kapatmak için Alt + Q tuşlarına aynı anda basın.
Şimdi itibaren, A2 hücresindeki değeri değiştirdiğinizde, Oval 2 şeklinin boyutu otomatik olarak değişecektir. Ekran görüntüsüne bakın:
Veya A1, A2 ve A3 hücrelerindeki değerleri değiştirerek "Oval 1", "Smiley Face 3" ve "Heart 3" şekillerinin boyutlarını otomatik olarak yeniden boyutlandırabilirsiniz. Ekran görüntüsüne bakın:
Not: Hücre değeri 10'dan büyük olduğunda şekil boyutu artık değişmez.
Geçerli Excel çalışma kitabındaki tüm şekilleri listeleme ve dışa aktarma:
Kutools for Excel'in Grafik Dışa Aktar aracı, mevcut çalışma kitabındaki tüm şekilleri hızlıca listeleyebilmenizi sağlar ve aşağıdaki ekran görüntüsünde gösterildiği gibi hepsini tek seferde belirli bir klasöre aktarabilirsiniz. Şimdi indirip deneyin! (30-gün ücretsiz deneme)
İlgili makaleler:
- Excel'de belirli bir şekle fareyle üzerine gelindiğinde ipucu ekleme
- Excel'de bir şekli şeffaf arka plan rengiyle doldurma
- Excel'de belirli bir şekli belirli bir hücre değerine göre gizleme veya gösterme
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin, daha önce hiç yaşamadığınız bir verimlilik deneyimini yaşayın. Kutools for Excel, üretkenliğinizi artıracak ve zamanı kaydetmenizi sağlayacak300’den fazla gelişmiş özellik sunar. En çok ihtiyaç duyduğunuz özelliği almak için buraya tıklayın...
Office Tab, Office’e sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint’te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Aynı pencere içerisinde yeni sekmelerde birden fazla belge açın veya oluşturun, yeni pencerelerde açmak yerine.
- Verimliliğinizi %50 artırın, her gün yüzlerce fare tıklamasını sizin için azaltın!