• DİKKAT

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

günlere göre aylık toplam almak

Katılım
12 Şubat 2007
Mesajlar
144
Excel Vers. ve Dili
2003
aşağıdaki makroda b sütunu yerine l sütununu seçmek için ne yapmalıyım?tşk ediyorum.iyi çalışmalar.b leri l yaptım ama olmadı.

Private Sub ComboBox1_Change()
'On Error Resume Next
Dim s1 As Worksheet
Dim a, i, n, b()
Set s1 = Sheets("Sayfa1")
'*******************************************
a = s1.Range("a2:b" & s1.[a65536].End(3).Row).Value
ReDim b(1 To UBound(a, 1), 1 To 3)
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For i = 1 To UBound(a, 1)
If Not IsEmpty(a(i, 1)) And Month(CDate(a(i, 1))) = Me.ComboBox1.Value * 1 Then
If Not .exists(a(i, 1)) Then
n = n + 1
b(n, 1) = n
b(n, 2) = a(i, 1)
.Add a(i, 1), n
End If
b(.Item(a(i, 1)), 3) = b(.Item(a(i, 1)), 3) + a(i, 2)
End If
Next
End With
 
Sayin Leventm

Burda GÜnlÜk Olarak B SÜtununu Toplayip GÖrÜntÜlÜyor.ben Aslinda Ayni İŞlemİ L SÜtununda Yapmak İstİyorum B SÜtununu Yok Farzedİn Yanİ Tarİh A SÜtununda Mİktarlarda L SÜtununda .asil Dosyada Bu Şekİlde. Örnekte İse Mİktarlar B SÜtununa GÖre Hesaplaniyor.saygilarimla
 
Kodlarınızı aşağıdaki şekilde değiştiriniz.

Örnek dosyalarınızı asıl dosyaya göre tasarlayıp eklerseniz, kodları kendi dosyanıza uyarlamanız daha kolay olacaktır.

Kod:
Private Sub ComboBox1_Change()
On Error Resume Next
Dim s1 As Worksheet
Dim a, i, n, b()
Set s1 = Sheets("Sayfa1")
'*******************************************
a = s1.Range("A2:[COLOR=blue]L[/COLOR]" & s1.[a65536].End(3).Row).Value
ReDim b(1 To UBound(a, 1), 1 To 3)
With CreateObject("Scripting.Dictionary")
    .CompareMode = vbTextCompare
    For i = 1 To UBound(a, 1)
        If Not IsEmpty(a(i, 1)) And Month(CDate(a(i, 1))) = Me.ComboBox1.Value * 1 Then
                If Not .exists(a(i, 1)) Then
                    n = n + 1
                    b(n, 1) = n
                    b(n, 2) = a(i, 1)
                    .Add a(i, 1), n
                 End If
                    b(.Item(a(i, 1)), 3) = b(.Item(a(i, 1)), 3) + a(i, [COLOR=blue]12[/COLOR])
        End If
    Next
End With
'*******************************************
With Me.ListBox1
    .Clear
    .ColumnCount = 3
    .ColumnWidths = "20;45;30"
    .List = b
    .ListIndex = 0
End With
'*******************************************
Set s1 = Nothing
End Sub
 
Merhaba,

UserForm'a yeni bir TextBox açtım, buraya, açılır kutudan seçilen ayların toplam miktarını almak istiyorum,

Kodda gerekli düzeltmenin yapılmasını rica ediyorum,

Teşekkür ederim.
 

Ekli dosyalar

Konu ; 6. Mesaj ; Güncel
 
Merhaba,

Set s1 = Nothing

satırından önce aşağıdaki kodları ekleyiniz.

Kod:
[COLOR=seagreen]'*******************************************[/COLOR]
Dim toplam As Double
For i = 0 To ListBox1.ListCount - 1
    toplam = ListBox1.List(i, 2) + toplam
Next i
TextBox1.Text = toplam
[COLOR=seagreen]'*******************************************[/COLOR]

.
 
Merhaba,

Set s1 = Nothing

satırından önce aşağıdaki kodları ekleyiniz.

Kod:
[COLOR=seagreen]'*******************************************[/COLOR]
Dim toplam As Double
For i = 0 To ListBox1.ListCount - 1
    toplam = ListBox1.List(i, 2) + toplam
Next i
TextBox1.Text = toplam
[COLOR=seagreen]'*******************************************[/COLOR]

.

Ömer bey merhaba,

İlginiz ve çözüm için sonsuz teşekkür ederim,

Saygılarımla.
 
Geri
Üst