• DİKKAT

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

MsgBox da toplam

  • Konbuyu başlatan Konbuyu başlatan netkit
  • Başlangıç tarihi Başlangıç tarihi
Katılım
31 Ağustos 2004
Mesajlar
146
Excel Vers. ve Dili
iş:Office 2003 Tr/office 2016trk
ev:office 2021 tr/office 365trk
Selam üstadlarım;

Ekte ki dosya da "metin" ile elde kalanları kalem bazda MsgBox da listeleyebiliyorum;
metin1 ile de toplam adet listelemek istiyorum ama beceremedim :(

bu konuda yardımcı olabilirmisiniz?

mesela
comdo - 12.226
goltas - 3.38
kent -250
soda -5000
 

Ekli dosyalar

Yardımcı olmak için biraz daha konuyu açar mısınız.
 
Aşağıdaki şekilde deneyin. Yalnız metin1 ve metin toplamları aynı olacaktır. Burada bir şart daha olması gerek sanırım. ilk baştaki if şartının aynısı c sütunu içinde olması gerek gibi. Yoksa toplam ikisinde de aynı sonucu verir.
Kod:
Sub ELDEKİ_SENET()
Dim i As Long
Dim sayac As Long
Top1 = 0
top2 = 0
 For i = 1 To [B65536].End(xlUp).Row Step 2
 If WorksheetFunction.CountIf(Range("B1:B1049"), Range("B" & i)) < 3 Then
 metin = metin & Range("B" & i) & " : " & Range("D" & i) & ": " & Range("F" & i) & vbCrLf & vbCrLf
 Top = Top + Range("D" & i).Value
 
 metin1 = metin1 & Range("c" & i) & " : " & Range("D" & i) & vbCrLf
 Top1 = Top1 + Range("D" & i).Value

 End If
Next
metin = metin & vbCrLf & "TOPLAM : " & Top
MsgBox metin

metin1 = metin1 & vbCrLf & "TOPLAM : " & Top
MsgBox metin1
 
End Sub
 
Kodda top ifadelerinde sayıyı yazmayı unutmuşum. Gerçi sonuç değişmiyor ama.
Kod:
Sub ELDEKİ_SENET()
Dim i As Long
Dim sayac As Long
Top1 = 0
Top2 = 0
 For i = 1 To [B65536].End(xlUp).Row Step 2
 If WorksheetFunction.CountIf(Range("B1:B1049"), Range("B" & i)) < 3 Then
 metin = metin & Range("B" & i) & " : " & Range("D" & i) & ": " & Range("F" & i) & vbCrLf & vbCrLf
 Top1 = Top1 + Range("D" & i).Value
 
 metin1 = metin1 & Range("c" & i) & " : " & Range("D" & i) & vbCrLf
 Top2 = Top2 + Range("D" & i).Value

 End If
Next
metin = metin & vbCrLf & "TOPLAM : " & Top1
MsgBox metin

metin1 = metin1 & vbCrLf & "TOPLAM : " & Top2
MsgBox metin1
 
End Sub
 
Sayın askm ;
elinize sağlık sabahın bu saatinde cevap yazmışsınız.
Fakat anlatım eksikliği olabilir, ilk msg box ok. ikincide sadece her senet 1 satır da toplam şeklinde olmalı.
Metin2 de sonuç böyle olmalı
comdo - 14.026
goltas - 3.038
kent -250
soda -5000

yani metin2(msgbox) de comdo : 14.026 toplamını getirtebilmek gerekiyor.

sayın işsiz123 ; umarım açıklamam yön gösterici olmuştur.
Teşekkür ederim.
 
comdo - 14.026
goltas - 3.038
kent -250
soda -5000
bu toplamları neye göre alıyorsunuz.Örneğin soda toplamı 30000 çıkıyor. Kriter ne.
 
Sayın askm;
birinci msgbox in özeti o sayılar.
comdo - 14.026
goltas - 3.038
kent -250
soda -5000

Söyle anlatayım;
Bir senet alınca 1 inci satır senedin fiyatı
2 inci satır komısyon tutarı. 2 sinin toplamı bölü adet = maliyet
bu sayılar çeşitli alım satımların sonunda elde kalan senetler ve lotları.
fakat farklı tarih ve adetlerde alındığından her alıma bir önceki kodun 1 arttırarak yazıyorum. böylece satarkende ilk aldığımdan düşüyorum. en sonra "metin" msgbox da portföyde kalan senetler ve alım numaraları var.
metin1 de yapmak istediğimse elde kalan hangi hisseden toplam kaç lot olduğu. kısaca metin birin özet halini yapmaya çalışıyorum
 
İki mesajda da aynı değerler çıkıyor. ikisinde de değer olarak D sütunundan değer aldırıyorsunuz. 1. Mesajda sadece aralık boşluk vermişsiniz.2. Mesajda D yerine E sütunundan veri almaya çalışıyor olmayasınız.
 
Sayın askm;
sıkıntımda o zaten. metin 1 de 4 satır olmalı ve şunları yazmalı
comdo - 14.026
goltas - 3.038
kent -250
soda -5000

ilk msj box da hareketleri tek tek getiriyor 2 inci msjbox da "c" kolonundaki grup koduna göre toplatmak istiyorum. Dün 4 saat upraştım sabah sizin mesajdan beride 100 tane deneme yaptım hala beceremedim :(

ilginize teşekkürler.
 
O zaman sizin kod hatalı. Mesaj1 hatalı yani.
 
Sayın askm;
evet mesaj1 hatalı malesef. Oraya comdo - 14.026 getirtmeye çalışıyorum :(
şimdi önce metin deki değerleri başka kolona yazdırıp oradan mesaj1 e ekleme yolunu deniyorum.
 
Ekteki dosyayı deneyin. Sanırım istediğiniz bu. 2. Sayfayı da kullanmak durumunda kaldım.
 

Ekli dosyalar

Sayın askm;
çok teşekkür ederim.
Bende yarım yamalak söyle birşey yaptım. Kulağı nasıl ters ten tutulur'a örnek ama iyi çaba sarfettim
 

Ekli dosyalar

Aşağıdaki kodlarda verileri silmeden işlem yaptığınız için sıkıntı olabilir. Şimdiki veriniz J22 ye kadar geliyor. Başka bir zaman daha az veri çekmesi gerekirse veriler eski verilerle karışır.

Kod:
Sub ELDEKİ_SENET()
Dim i As Long
Dim sayac As Long
Top1 = 0
top2 = 0
 Z = 2
 For i = 2 To [B65536].End(xlUp).Row Step 2

 If WorksheetFunction.CountIf(Range("B1:B1049"), Range("B" & i)) < 3 Then
  Cells(Z, "J").Value = Range("b" & i).Value
  Cells(Z, "K").Value = Range("C" & i).Value
  Cells(Z, "L").Value = Range("D" & i).Value
Z = Z + 1
End If
Next
Range("M3").Select
    ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
For s = 3 To [k1000].End(xlUp).Row
 If Len(Cells(s, "m")) > 5 Then GoTo 2
 metin = metin & Range("M" & s) & " : " & Range("n" & s) & vbCrLf & vbCrLf
 Next
2:
 MsgBox metin
End Sub
 
Geri
Üst