Texbox'da toplama formatı sorunu

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Merhaba.Aşağıdaki kod ile listbox1 birinci sutun toplamını alıyorum fakat rakamlardaki noktanın solundaki sayıları topluyor,örneğin 23.000 rakamını 23 olarak topluyor.Sanırım format hatası var.Yardımcı olabilir misiniz.?.Teşekkür ederim.

For ii = 0 To ListBox1.ListCount - 1
topla = topla + Val(ListBox1.list(ii, 1))

Next ii
TextBox17 = vbCrLf & "GENEL TOPLAM :" & " " & Format(topla, "#,##0")
end sub
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,122
Excel Vers. ve Dili
Microsoft Office 2019 English
For ii = 1 To ListBox1.ListCount - 1
topla = CDbl(ListBox1.List(i - 1, 0) + topla )

Next i
TextBox17 = vbCrLf & "GENEL TOPLAM :" & " " & Format(topla, "#,##0")
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
topla = CDbl(ListBox1.List(i - 1, 0) + topla ) satırı hata veriyor.Dosyadan bakabilirmisiniz?
 

Ekli dosyalar

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Listbox1'deki rakamlar 7 haneli olduğunda yani 1.050.000 Tl olduğunda 1 TL olarak topluyor.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba,
Sorunuzla biraz uğraştım.
aşağıdaki kod ile toplama yapıyor. Fakat temmuz ve ağustos değerlerini eksik topluyor.
onu biraz daha bakacağım. Olmaz ise Ustalarımızda yardımcı olabilir.
Kod:
Private Sub CommandButton2_Click()


  Dim Sh As Worksheet, My_Month As Object
    Dim My_Data As Variant, X As Long, Y As Long
    Dim ii As Integer
    Dim topla As Variant
    Set Sh = Sheets("Anasayfa")
    Set My_Month = VBA.CreateObject("Scripting.Dictionary")
   
    My_Data = Sh.Range("A15:N" & Sh.Cells(Sh.Rows.Count, 1).End(3).Row).Value
   
    ReDim My_List(1 To 2, 1 To 1)
   
    For X = LBound(My_Data, 1) To UBound(My_Data, 1)
        If Sayfa1.ComboBox1 = "Tümü" And Sayfa1.ComboBox2 = "Tümü" Then
            If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                Y = Y + 1
                My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                ReDim Preserve My_List(1 To 2, 1 To Y)
                My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                My_List(2, Y) = Format(My_Data(X, 7), "#,##0.00")
            Else
                My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 7), "#,##00.0")

            End If
        ElseIf Sayfa1.ComboBox1 = "Tümü" And Sayfa1.ComboBox2 <> "Tümü" Then
            If Year(My_Data(X, 3)) = Val(Sayfa1.ComboBox2) Then
                If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                    Y = Y + 1
                    My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                    ReDim Preserve My_List(1 To 2, 1 To Y)
                    My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                    My_List(2, Y) = Format(My_Data(X, 7), "#,##0.00")
                Else
                    My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = _
                    Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 7), "#,##0.00")
                End If
            End If
        ElseIf Sayfa1.ComboBox1 <> "Tümü" And Sayfa1.ComboBox2 = "Tümü" Then
            If Format(My_Data(X, 3), "mmmm") = Sayfa1.ComboBox1 Then
                If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                    Y = Y + 1
                    My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                    ReDim Preserve My_List(1 To 2, 1 To Y)
                    My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                    My_List(2, Y) = Format(My_Data(X, 7), "#,##0.00")
                Else
                    My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = _
                    Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 7), "#,##0.00")
                End If
            End If
        ElseIf Sayfa1.ComboBox1 <> "Tümü" And Sayfa1.ComboBox2 <> "Tümü" Then
            If Format(My_Data(X, 3), "mmmm") = Sayfa1.ComboBox1 And Year(My_Data(X, 3)) = Val(Sayfa1.ComboBox2) Then
                If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                    Y = Y + 1
                    My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                    ReDim Preserve My_List(1 To 2, 1 To Y)
                    My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                    My_List(2, Y) = Format(My_Data(X, 7), "#,##0.00")
                Else
                    My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = _
                    Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 7), "#,##0.00")
                End If
            End If
        End If
    Next
   
    With Sayfa1
        .ListBox1.Clear
        .ListBox1.ColumnCount = 4
        .ListBox1.ColumnWidths = "100;60;40;40"
        .ListBox1.Height = 150
       
        .ListBox1.Column = My_List
    End With
For ii = 1 To ListBox1.ListCount - 2
topla = CDbl(ListBox1.List(ii - 1, 1) + topla)

Next ii
TextBox17 = vbCrLf & "GENEL TOPLAM :" & " " & Format(topla, "#,##0.00")
    Set Sh = Nothing
    Set My_Month = Nothing
    Exit Sub
End Sub
acağım
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba, CommandButton2_Click kodunuzu aşağıdaki ile değiştirip, deneyiniz


Kod:
Private Sub CommandButton2_Click()


  Dim Sh As Worksheet, My_Month As Object
    Dim My_Data As Variant, X As Long, Y As Long
    Dim ii As Integer
    Dim topla As Variant
    Set Sh = Sheets("Anasayfa")
    Set My_Month = VBA.CreateObject("Scripting.Dictionary")
  
    My_Data = Sh.Range("A15:N" & Sh.Cells(Sh.Rows.Count, 1).End(3).Row).Value
  
    ReDim My_List(1 To 2, 1 To 1)
  
    For X = LBound(My_Data, 1) To UBound(My_Data, 1)
        If Sayfa1.ComboBox1 = "Tümü" And Sayfa1.ComboBox2 = "Tümü" Then
            If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                Y = Y + 1
                My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                ReDim Preserve My_List(1 To 2, 1 To Y)
                My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                My_List(2, Y) = Format(My_Data(X, 7), "#,##0.00")
            Else
                My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 7), "#,##00.0")

            End If
        
        
        
        
        ElseIf Sayfa1.ComboBox1 = "Tümü" And Sayfa1.ComboBox2 <> "Tümü" Then
            If Year(My_Data(X, 3)) = CDbl(Sayfa1.ComboBox2) Then
                If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                    Y = Y + 1
                    My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                    ReDim Preserve My_List(1 To 2, 1 To Y)
                    My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                    My_List(2, Y) = Format(My_Data(X, 9), "#,##0.00")
                Else
                    My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = _
                    Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 9), "#,##0.00")
                End If
            End If
        
        
        
        
        
        ElseIf Sayfa1.ComboBox1 <> "Tümü" And Sayfa1.ComboBox2 = "Tümü" Then
            If Format(My_Data(X, 3), "mmmm") = Sayfa1.ComboBox1 Then
                If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                    Y = Y + 1
                    My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                    ReDim Preserve My_List(1 To 2, 1 To Y)
                    My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                    My_List(2, Y) = Format(My_Data(X, 9), "#,##0.00")
                Else
                    My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = _
                    Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 9), "#,##0.00")
                End If
            End If
        
        
        
        
        
        
        
        
        
        ElseIf Sayfa1.ComboBox1 <> "Tümü" And Sayfa1.ComboBox2 <> "Tümü" Then
            If Format(My_Data(X, 3), "mmmm") = Sayfa1.ComboBox1 And Year(My_Data(X, 3)) = Val(Sayfa1.ComboBox2) Then
                If Not My_Month.Exists(Format(My_Data(X, 3), "mmmm")) Then
                    Y = Y + 1
                    My_Month.Add Format(My_Data(X, 3), "mmmm"), Y
                    ReDim Preserve My_List(1 To 2, 1 To Y)
                    My_List(1, Y) = Format(My_Data(X, 3), "mmmm")
                    My_List(2, Y) = Format(My_Data(X, 9), "#,##0.00")
                Else
                    My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))) = _
                    Format(Replace(My_List(2, My_Month.Item(Format(My_Data(X, 3), "mmmm"))), " TL", "") + My_Data(X, 9), "#,##0.00")
                End If
            End If
        End If
    Next
  
    With Sayfa1
        .ListBox1.Clear
        .ListBox1.ColumnCount = 4
        .ListBox1.ColumnWidths = "100;60;40;40"
        .ListBox1.Height = 150
      
        .ListBox1.Column = My_List
    End With
For ii = 1 To ListBox1.ListCount - 0
topla = CDbl(ListBox1.List(ii - 1, 1) + topla)

Next ii
TextBox17 = vbCrLf & "GENEL TOPLAM :" & " " & Format(topla, "#,##0.00")
    Set Sh = Nothing
    Set My_Month = Nothing
    Exit Sub
End Sub
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Tamamdır.Emeğiniz için çok Teşekkür ederim.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Çok anladığımdan değil olası satırlarda deneme ile sonuca ulaştım
 
Üst