Çalışma Sayfasına ActiveX CommandButton Nesnesi Ekle - Microsoft Excel


Microsoft Excel çalışma sayfasına döngü aracılığıyla alt alta CommandButton nesne örneklerini eklemeye yarayan alternatif bir VBA kodudur.

Kod


Option Explicit

Sub SayfayaActiveXCommandButtonNesnesiEkle()
    Dim i                    As Long
    Dim sayac                As Long
    Dim eklenecekNesneSayisi As Long
    
    eklenecekNesneSayisi = 10
    
    For i = 1 To 2 * eklenecekNesneSayisi Step 2
        ActiveSheet.OLEObjects.Add( _
            ClassType:="Forms.CommandButton.1", _
            Link:=False, _
            DisplayAsIcon:=True, _
            Left:=Range("A" & i & ":" & "C" & (i + 1)).Left, _
            Top:=Range("A" & i & ":" & "C" & (i + 1)).Top, _
            Width:=Range("A" & i & ":" & "C" & (i + 1)).Width, _
            Height:=Range("A" & i & ":" & "C" & (i + 1)).Height).Select
    Next
End Sub

Kod (Açıklamalı)


Option Explicit

Sub SayfayaActiveXCommandButtonNesnesiEkle()
    Dim i                    As Long
    Dim sayac                As Long
    Dim eklenecekNesneSayisi As Long
    
    eklenecekNesneSayisi = 10
    
    '--------------------------------------------------
    'Ekleyeceğimiz CommandButton nesnesi üç sütun
    'genişliğinde ve iki satır yüksekliğinde olacak.
    'Sütun ve satırlara bir işlem yapmadığımız için
    'varsayılan genişlikte ve yükseklikteler.
    'Bu değerler dinamik olarak belirlendiğinden
    'dolayı, eğer işlem yaptığınız sayfada anormal
    'sayılabilecek bir değer varsa, ayarlamanızı
    'buna göre yeniden yapabilirsiniz.
    '--------------------------------------------------
    For i = 1 To 2 * eklenecekNesneSayisi Step 2
        
        '--------------------------------------------------
        'Nesne ekleme işlemini yap.
        'Ekleme işlemleri hücre konumları baz alınarak
        'yapılıyor. Left, Top, Width ve Height değerleri
        'karışık gibi görünseler de aslında hücrelerin
        'konum bilgilerini dinamik olarak alabilmek için
        'döngüye uyarlanmış sayı değerlerinden başka bir
        'şey değil.
        '--------------------------------------------------
        ActiveSheet.OLEObjects.Add( _
            ClassType:="Forms.CommandButton.1", _
            Link:=False, _
            DisplayAsIcon:=True, _
            Left:=Range("A" & i & ":" & "C" & (i + 1)).Left, _
            Top:=Range("A" & i & ":" & "C" & (i + 1)).Top, _
            Width:=Range("A" & i & ":" & "C" & (i + 1)).Width, _
            Height:=Range("A" & i & ":" & "C" & (i + 1)).Height).Select
    Next
End Sub

Etiketler
microsoft excel açıklamalı içerik microsoft excel vba