• DİKKAT

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

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

Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
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?
 
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
 
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.
 
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
 
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.
 
Geri
Üst