• DİKKAT

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

Listbox Sayı Biçimi veren Kod da hata!

  • Konbuyu başlatan Konbuyu başlatan ocamsul
  • Başlangıç tarihi Başlangıç tarihi
Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Arkadaşlar merhabalar. İyi çalışmalar diliyorum. aşağıda vermiş olduğum kodu yaklaşık 2000 satırlı ve 29 sütunlu bir sayfanın hücrelerindeki rakam biçimini ListBoxda da 0,000 şeklinde gösterebilmesi için uyguladığımızda macro bir türlü tamamlanıp form açılmıyor. Bunun nedeni ve çözümü nasıl olabilir arkadaşlar.

Kod:
 Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 29
ListBox1.ColumnWidths = 0 & ";" & 90 & ";" & 70 & ";" & 40 & ";" & 60 & ";" & 40 & ""
ListBox1.List = Range("A3:AC" & Cells(65536, "A").End(xlUp).Row).Value
For i = 0 To ListBox1.ListCount - 1
    For k = 2 To ListBox1.ColumnCount - 1
        ListBox1.List(i, k) = Format(ListBox1.List(i, k), "#,##0.000")
    Next
Next
End Sub
 

Ekli dosyalar

Arkadaşlar merhabalar. İyi çalışmalar diliyorum. aşağıda vermiş olduğum kodu yaklaşık 2000 satırlı ve 29 sütunlu bir sayfanın hücrelerindeki rakam biçimini ListBoxda da 0,000 şeklinde gösterebilmesi için uyguladığımızda macro bir türlü tamamlanıp form açılmıyor. Bunun nedeni ve çözümü nasıl olabilir arkadaşlar.

Kod:
 Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 29
ListBox1.ColumnWidths = 0 & ";" & 90 & ";" & 70 & ";" & 40 & ";" & 60 & ";" & 40 & ""
ListBox1.List = Range("A3:AC" & Cells(65536, "A").End(xlUp).Row).Value
For i = 0 To ListBox1.ListCount - 1
    For k = 2 To ListBox1.ColumnCount - 1
        ListBox1.List(i, k) = Format(ListBox1.List(i, k), "#,##0.000")
    Next
Next
End Sub

Örnek dosyayı görelim.:cool:
 
Bu işlem için rowsource yöntemini kullanmanız daha doğru olacak.Çünkü zaten hücreleriniz biçimlenmiş durumda.Aynisisni listboxa aktarır.Tekradan biçimnlendirme ile zaman kaybetmezsiniz.29 sütun çok.:cool:
 
SN: Evren Gizler; üstadım teşekkür ederim. Uygulayacağım.
 
Aşağıdaki dizi yöntemi ilede veriler hızlı alınabiliyor.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim sat As Long, myarr()
ListBox1.ColumnCount = 29
ListBox1.ColumnWidths = 0 & ";" & 90 & ";" & 70 & ";" & 40 & ";" & 60 & ";" & 40 & ""
sat = Cells(65536, "A").End(xlUp).Row
ReDim myarr(1 To 29, 1 To sat)
For i = 1 To sat
    For k = 1 To 29
        If k < 3 Then
            myarr(k, i) = Cells(i, k).Value
            Else
            myarr(k, i) = Format(Cells(i, k).Value, "#,##0.000")
        End If
    Next
Next
ListBox1.Column = myarr
End Sub
 
SN: Evren Gizler; üstadım teşekkür ederim. Tam anlamıyla işimi gördü.
 
Geri
Üst