Nesne boyutlandırma (Orta hizalı)

Katılım
8 Temmuz 2018
Mesajlar
13
Excel Vers. ve Dili
TR
Belirlediğim hücrede ki değere göre nesneyi boyutlandırıyorum ancak ufak bir çözüme ihtiyacım var.

Aşağıdaki kodda "Oval 1" nesnesinin yükseklik ve genişliğini AR7 hücresinde ki değere göre şekillendiriyorum ancak boyutlandırma ortalı olmuyor, sola hizalı boyutlanma oluyor. Benim istediğim ilgili görsel excel in içinde nerede ise bulunduğu yerde ortalı boyutlanması. Bu konuda yardıma ihtiyacım var, desteklerinizi rica ediyorum..

Kod:
ActiveSheet.Shapes("Oval 1").Height = [AR7].Value
ActiveSheet.Shapes("Oval 1").Width = [AR7].Value
Teşekkürler
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Aşağıdaki linki inceleyiniz.
 
Katılım
8 Temmuz 2018
Mesajlar
13
Excel Vers. ve Dili
TR
Aşağıdaki linki inceleyiniz.
Maalesef aradığım cevabı bulamadım. Yalnızca seçmiş olduğum nesneyi bir üstünde ki hücreye göre ortalıyor.

Şöyle ki dosyamda Oval 1 2 3 4 5 diye 100 e yakın nesne var, bu nesneler belirli bir düzene göre dosyanın çeşitli yerlerine dağıttım. Dağıttığım yerlerde sabit kalmalı ve boyutunu değiştirdiğim zaman merkezden büyümeli ya da küçülmeli, öyle bir şey arıyorum..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kendinize uyarlarsınız.

C++:
Option Explicit

Sub Test()
    Dim Nesne As Shape
    
    For Each Nesne In ActiveSheet.Shapes
        If InStr(1, Nesne.Name, "Oval") Then
            With Nesne
                .Height = [AR7].Value
                .Width = [AR7].Value
                .Left = .TopLeftCell.Left + .TopLeftCell.Width / 2 - .Width / 2
                .Top = .TopLeftCell.Top + .TopLeftCell.Height / 2 - .Height / 2
            End With
        End If
    Next

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
8 Temmuz 2018
Mesajlar
13
Excel Vers. ve Dili
TR
Kendinize uyarlarsınız.

C++:
Option Explicit

Sub Test()
    Dim Nesne As Shape
   
    For Each Nesne In ActiveSheet.Shapes
        If InStr(1, Nesne.Name, "Oval") Then
            With Nesne
                .Height = [AR7].Value
                .Width = [AR7].Value
                .Left = .TopLeftCell.Left + .TopLeftCell.Width / 2 - .Width / 2
                .Top = .TopLeftCell.Top + .TopLeftCell.Height / 2 - .Height / 2
            End With
        End If
    Next

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Yanıtınız için teşekkürler, ancak yine en yakın hücreyi ortalayıp kaydırıyor ve öyle boyutlandırıyor, bir de kodu her çalıştırdığımda sol üst köşeye gidiyor şekiller, bunlar için bir çözüm bulabilir miyiz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu durumda örnek dosya paylaşıp talebinizi tarif ediniz.
 

mfgo@hotmail.com

Altın Üye
Katılım
23 Ekim 2011
Mesajlar
13
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
27-02-2028
Selamunaleyküm Kolay gelsin hocalar ve değerli Excel dostları
frmGuncelle.Top = 30 + lstOgrenciler.ListIndex * 12
ekteki dosyada listboxta veri fazla olunca kaydırma çubuğunu aşağıya indirince yukarıdaki kod işlemini görmüyor
nasıl bir kod yazmam lazım.
vakti olupta bakandan allah razı olsun
 

Ekli dosyalar

Üst