• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Birden fazla commandbutton ile çalışmak

Katılım
19 Ocak 2009
Mesajlar
56
Excel Vers. ve Dili
excell 2003 Türkçe
Merhaba

Aşağıdaki konularda bana yardımcı olabilirsiniz lütfen.

-bir excel sayfasına 10x10 boyutunda(100 adet)(buton boyutları 20x20 olabilir) command button yükletmek istiyorum. Bunu tek tek yapmak yerine belli bir kodla ekletebilir miyiz?
-eklenen 100 adet commandbutonun Caption-Başlığınını tek kodla silmek istiyorum. Yani 101. bi butonun koduna 1den 100 kadar olan butonların başlığını sili nasıl diyebiliriz?
-bu 100 butonun içeriğinin aynı olmasını istiyorum. mesela ilk butona commandbutton1.visible = false yazılacak
101. butona yazacağımız bir kod ile her butonun kendi içindeki kodunu kendi ismiyle nasıl yazdırabiliriz? 50. butonda commandbutton50.visible = false olacak (not: kodlar click olayına yazılacak)

Birden çok nesneyi aynı anda nasıl yönetebiliriz? Bu konuda bana bilgi verebilirseniz çok sevinirim. Şimdiden ilgilenen herkese teşekkürler..
 
Merhaba

Kod:
For i = 1 To 100
Controls("CommandButton" & i).Visible = False
Next
 
-bir excel sayfasına 10x10 boyutunda(100 adet)(buton boyutları 20x20 olabilir) command button yükletmek istiyorum. Bunu tek tek yapmak yerine belli bir kodla ekletebilir miyiz?
QUOTE]

For i = 1 To 100
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=250 + i, Top:=50 + i, Width:=100, Height:= _
100).Select
Next
 
Merhaba

Kod:
For i = 1 To 100
Controls("CommandButton" & i).Visible = False
Next

Cevaplar için teşekkür ederim. Ancak visible olayı her butonun kendi içinde olacak. Yani tek tuşla hepsini visible yapmayacağım. Kod ile mevcut botonlara otomatik kod yazdırmak mümkün mü?

teşekkürler..
 
Cevaplar için teşekkür ederim. Ancak visible olayı her butonun kendi içinde olacak. Yani tek tuşla hepsini visible yapmayacağım. Kod ile mevcut botonlara otomatik kod yazdırmak mümkün mü?

teşekkürler..


Belirli bir sıra ile aynı işlemleri yapacaksanız sorun olmaz. Önceki kod gibi benzer kodlar ile döngü kurarak işinizi halledebilirsiniz. Ancak sırayı takip etmeyen ve farklı farklı eylemlerin gerçekleşmesini istiyorsanız tek tek satır satır kod yazmak gerekecektir..
 
Merhaba

aşağıdaki şekilde bir kod ile istediğim olayı gerçekleştirdim. (1den 100 e kadar butonların içine kod ile kod yazdırmak) İlgilenen herkese teşekkürler..


Dim en As Integer
Dim boy As Integer
Dim kodm As String
Dim sayfam As Worksheet

en = TextBox1.Text
boy = TextBox2.Text

Set sayfam = Worksheets("Sayfa1")
say = en * boy

For z = 1 To say
kodm = ""
kodm = "sub commandbutton" & z & "_click()" & vbCrLf
kodm = kodm & "commandbutton" & z & ".visible = false" & vbCrLf
kodm = kodm & "end sub"

ThisWorkbook.VBProject.vbcomponents(sayfam.Name).Activate
With ThisWorkbook.VBProject.vbcomponents(sayfam.Name).CodeModule
.AddFromString (kodm)
End With
kodm = vbNullString
Next z
 
Son düzenleme:
Aşağıdaki kod ile de x*x alanında dikdörtgen bir şekilde, başlıksız olarak command butonları yükleyebiliyoruz.

Dim a As Integer
Dim b As Integer
Dim i As Integer
Dim y As Integer

en = TextBox1.Text
boy = TextBox2.Text

For y = 1 To boy
b = b + 20
For i = 1 To en
a = a + 20
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, _
Left:=a, Top:=b, Width:=20, Height:=20).Object.Caption = ""

Next i
a = a - a
Next y
 
Geri
Üst