• DİKKAT

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

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
 
Aşağıdaki gibi deneyiniz.:cool:
If Controls("ListBox" & Format(i, "000")).ListCount > 0 Then
 
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
 
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
 
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,
 
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:
 
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..?
 
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.
 
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
 
Ben denedim oldu.
Ekli dosyayı inceleyiniz.:cool:
Kod:
For i = 1 To 12
    Controls("Listbox0" & i).RowSource = "A1:A10"
Next
 
Geri
Üst