Listboxların tamamını bir listboxta listelemek ve dolu olan satırların toplamını alma

Katılım
28 Ocak 2008
Mesajlar
3
Excel Vers. ve Dili
2003
Merhaba,

Aşağıdaki kodlarda listbox01,listbox02.......listbox023 ve listbox024' e kadar olan listboxlarda listelenen verileri listbox36 da listelemeye çalışıyor ve Label100' de toplam solu satır sayısını vermek istiyorum. Fakat control ile listboxların tamamını seçmek istedğimde sadece iki haneli olanları listeliyor listbox36 da mesala listbox05 alıyor ama listbox012 yi almıyor 3 haneli olduğu için ne yapmalıyımda listbox 01 ile 024 arasındakileri listeletip toplamını alabileyim örnek kod aşağıda şimdiden teşekkür ederim arkadaşlar..
Kod:
Private Sub CommandButton48_Click()
' organizasyon  formundaki tüm listboxlardaki bilgileri listeler....
On Error Resume Next
CommandButton47_Click
ListBox36.Clear
ReDim myarr(1 To 24, 1 To 1)
For i = 1 To 24
    [COLOR="Red"][B]If Controls("ListBox" & Format(i, "00")).ListCount > 0 Then[/B][/COLOR]        For k = 0 To Controls("ListBox" & Format(i, "00")).ListCount - 1
        A = A + 1
        ReDim Preserve myarr(1 To 24, 1 To A)
            For t = 1 To 24
                myarr(t, A) = Controls("ListBox" & Format(i, "00")).Column(t - 1, k)
            Next t
        Next k
    End If
Next i
ListBox36.Column = myarr
'Label100.Caption = Format(a, "#,##0")
Label100.Caption = Format(ListBox36.ListCount - 15, "#,##0.00")
End Sub
 

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
Aşağıdaki gibi deneyiniz.:cool:
If Controls("ListBox" & Format(i, "000")).ListCount > 0 Then
 
Katılım
28 Ocak 2008
Mesajlar
3
Excel Vers. ve Dili
2003
Aşağıdaki gibi deneyiniz.:cool:
If Controls("ListBox" & Format(i, "000")).ListCount > 0 Then
Merhaba hocam, :) sizi yeniden görmek ne güzel..

Hocam denedim yazdığınız gibi bu seferde 3 haneli olanları alıyor iki haneliler kalıyor..

Örnek. listbox012 listbox013 alıyor ama listbox02 almıyor
 

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
Almaz tabii.
Siz kendi kendinize işi zorlaştırmışsınız.
İndex numaraları başındaki sıfırları kaldırın ve kodu aşağıdaki gibi yapın.:cool:
Kod:
If Controls("ListBox" & i).ListCount > 0 Then
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Yemiyor hocam,

i= 1 ile 24 arası denildiğinden listboxlar 01 - 02 - 012 ve 014 diye gidiyor sanırım o sebeple almıyor örnek te ekliyemiyorum kusura bakmayın,
 

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
Yemiyor hocam,

i= 1 ile 24 arası denildiğinden listboxlar 01 - 02 - 012 ve 014 diye gidiyor sanırım o sebeple almıyor örnek te ekliyemiyorum kusura bakmayın,
Lİstboxların isimlerindeki önlerdeki sfırları kaldırın demiştim.
Örenek listbox'ın 01 olan ismi 0'ı kaldırın ve 1 yapın.Diğerlerininde sıfırlarını kaldırın.
Nerdenmi? Propertiesten name'den.:cool:
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Lİstboxların isimlerindeki önlerdeki sfırları kaldırın demiştim.
Örenek listbox'ın 01 olan ismi 0'ı kaldırın ve 1 yapın.Diğerlerininde sıfırlarını kaldırın.
Nerdenmi? Propertiesten name'den.:cool:
ilahi hocam, dedim ya değiştirirsem bir çok yerde de ilgili değişiklileri yapmam lazım ve zaten daha önceden listbox5' i kullandığım için burada da listbox05 yapmak gerekti ama başıma dert oldu, değiştiremiyorum ne yapmam lazım..?
 

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
O zaman döngüyü 2 ye bölün
2 döngü yapı yani.
1nci döngü 1 den 9a kadar olsun ve i format "00" olsun
sonra 2nci döngüyü kurun ve i format "000" olsun.
Gördünüzmü bakın hiç gereksiz bir işlemin sonucu ne oluyor.
Ben anlayamadım listboxların isimlerinin başına niye sıfır koydunuz.Hiç gerek yoktu.Böyle sorun çıkardı şimdi.
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
O zaman döngüyü 2 ye bölün
2 döngü yapı yani.
1nci döngü 1 den 9a kadar olsun ve i format "00" olsun
sonra 2nci döngüyü kurun ve i format "000" olsun.
Gördünüzmü bakın hiç gereksiz bir işlemin sonucu ne oluyor.
Ben anlayamadım listboxların isimlerinin başına niye sıfır koydunuz.Hiç gerek yoktu.Böyle sorun çıkardı şimdi.
doğru aklıma geldi dediğinizi yapmak ama farklı bir yöntem de olabilir diye sormuştum sorumu teşekkürler
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Hocam şöyle birşey geldi aklıma ama olabilirmi acaba ?

Controls("ListBox0" & i)
 

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
Ben denedim oldu.
Ekli dosyayı inceleyiniz.:cool:
Kod:
For i = 1 To 12
    Controls("Listbox0" & i).RowSource = "A1:A10"
Next
 
Üst