Soru Additem özelliğini VBA çok sayıda combobox'a uygulamak

seckinb

Altın Üye
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
With Me.LBBclc
.AddItem "BCLC - A"
.AddItem "BCLC - B"
.AddItem "BCLC - C"
.AddItem "BCLC - D"
End With
şeklinde comboboxlarıma seçenek ekliyorum.
10 tane sutüna aynı şeyi sırayla yazmak yerine bunu tanımlayıp kullanabilir miyim?

For Each blah In [List6]
Me.cmbTX1.AddItem blah
Me.cmbTX2.AddItem blah
Me.cmbTX3.AddItem blah
Me.cmbTX4.AddItem blah
Me.cmbTX5.AddItem blah
Me.cmbTX6.AddItem blah
Me.cmbTX7.AddItem blah
Me.cmbTX8.AddItem blah
Me.cmbTX9.AddItem blah
Me.cmbTX10.AddItem blah
Next blah
Ad tanımlayıp kullandığım listeler işime yaramıyor, aramaları anlamsız hale getiriyor.
Bu nedenle additem olarak özellikleri tanımlamaya çalışıyorum.

Nasıl yapabilirim?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Kod:
Dim myarr(), i As Byte
myarr = Array("BCLC - A", "BCLC - B", "BCLC - C", "BCLC - D")
With Me.LBBclc
    For i = 0 To 3
        .AddItem myarr(i)
    Next i
End With
 

seckinb

Altın Üye
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Kod:
Dim eskitedavi(), i As Byte
eskitedavi = Array("Cerrahi rezeksiyon", "Transplantasyon", "TAKE", "Radyofrekans Ablasyon", "Sorafenib", "Adjuvan Kemoterapi", "Adjuvan Radyoterapi")
With Me.cmbTX1
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX2
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX3
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX4
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX5
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX6
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX7
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX8
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX9
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

With Me.cmbTX10
    For i = 0 To 6
        .AddItem eskitedavi(i)
    Next i
End With

Elinize sağlık, muhteşem çalışıyor.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,233
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Kodu aşağıdaki gibi de kısaltabilirsiniz...

PHP:
Dim eskitedavi(), i As Byte
eskitedavi = Array("Cerrahi rezeksiyon", "Transplantasyon", "TAKE", "Radyofrekans Ablasyon", "Sorafenib", "Adjuvan Kemoterapi", "Adjuvan Radyoterapi")

For i = 1 To 10
    For ii = 0 To 6
        Me.Controls("cmbTX" & i).AddItem eskitedavi(ii)
    Next
Next
 

seckinb

Altın Üye
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Kodu aşağıdaki gibi de kısaltabilirsiniz...

PHP:
Dim eskitedavi(), i As Byte
eskitedavi = Array("Cerrahi rezeksiyon", "Transplantasyon", "TAKE", "Radyofrekans Ablasyon", "Sorafenib", "Adjuvan Kemoterapi", "Adjuvan Radyoterapi")

For i = 1 To 10
    For ii = 0 To 6
        Me.Controls("cmbTX" & i).AddItem eskitedavi(ii)
    Next
Next

Elinize sağlık, cidden kod belirgin olarak kısaldı.

tanımlamalar ve For i kalıbı ile olan sıralı değişkenler üzerinde biraz kendimi geliştirmeliyim.
 
Üst