koşullu saydırma

mehmet6006

Altın Üye
Katılım
6 Eylül 2012
Mesajlar
25
Excel Vers. ve Dili
excel 2010
merhaba,

yaklaşık 13000 satırlık bir excelim var. Bu 13000 satırda benim için önemli saydırmam gereken 8 adet sutun bulunmakta ama su seklide bi saydırma kosulun var. 8 satırın ilk ikisi dolu sonraki ikisi bos ve ardından diğer ikisi dolu olabilir. Ya da sadece ikisi dolu diğerleri boş olabilir. Yapmak istediğim bu satırları tarayıp en sonunda yazanı saydırmaktır. Aşağıda ufak bir örneği bulunmakta. Yardımcı olur musunuz?


 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,803
Excel Vers. ve Dili
2019 Türkçe
Ben hiç bir şey anlamadım valla.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,270
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Ben de çok anlamadım ama;

- "Saydırmak" ifadesinin "Toplamak" olduğunu,

- Tablo başlıklarının 1.satırda olduğunu,

-Verilerin 2. satırdan itibaren başladığını

kabul ederek, aşağıdaki kodu hazırladım. Bu kod; sizin tarif ettiğiniz hücrelerdeki sayısal verilerin toplamını alır.

Kod:
Sub Test()
    Dim i As Long, intRow As Long
    intRow = Cells(Rows.Count, 1).End(xlUp).Row
 
    For i = 2 To intRow
        mySum = mySum + Cells(i, Cells(i, Columns.Count).End(xlToLeft).Column).Value2
    Next
 
    MsgBox mySum
End Sub
.
 
Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
merhaba,

yaklaşık 13000 satırlık bir excelim var. Bu 13000 satırda benim için önemli saydırmam gereken 8 adet sutun bulunmakta ama su seklide bi saydırma kosulun var. 8 satırın ilk ikisi dolu sonraki ikisi bos ve ardından diğer ikisi dolu olabilir. Ya da sadece ikisi dolu diğerleri boş olabilir. Yapmak istediğim bu satırları tarayıp en sonunda yazanı saydırmaktır. Aşağıda ufak bir örneği bulunmakta. Yardımcı olur musunuz?


Kod:
Sub SATIR_SONU_SAY()
    Dim say, i, sonsatir As Long
    sonsatir = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
toplam = 0
    For i = 2 To sonsatir
           say = Cells(i, Cells(i, Columns.Count).End(xlToLeft).Column)
If say > 0 Then say = 1: toplam = toplam + say
    Next
    MsgBox "Satır sonlarındaki değerler :  " & toplam & "  Adettir"
End Sub
şeklinde deneyiniz.
Not: Satırlarda boşluk olması halinde de, doğru sonuç verecektir.
 
Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın @mehmet6006 ,
#4 No.lu kod yerine;
Başlıklarda yazan girdileri saydırmak isterseniz; aşağıdaki kodu deneyiniz.
Kod:
Sub SATIR_SONU_SAY2()
    Dim say, i, sonsatir As Long
    sonsatir = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
toplam1 = 0: toplam2 = 0: toplam3 = 0: toplam4 = 0: toplam5 = 0: toplam6 = 0: toplam7 = 0: toplam8 = 0
say1 = 1: say2 = 1: say3 = 1: say4 = 1: say5 = 1: say6 = 1: say7 = 1: say8 = 1
    For i = 2 To sonsatir
    If Cells(i, Columns.Count).End(xlToLeft).Column = 1 Then toplam1 = toplam1 + say1
    If Cells(i, Columns.Count).End(xlToLeft).Column = 2 Then toplam2 = toplam2 + say2
    If Cells(i, Columns.Count).End(xlToLeft).Column = 3 Then toplam3 = toplam3 + say3
    If Cells(i, Columns.Count).End(xlToLeft).Column = 4 Then toplam4 = toplam4 + say4
    If Cells(i, Columns.Count).End(xlToLeft).Column = 5 Then toplam5 = toplam5 + say5
    If Cells(i, Columns.Count).End(xlToLeft).Column = 6 Then toplam6 = toplam6 + say6
    If Cells(i, Columns.Count).End(xlToLeft).Column = 7 Then toplam7 = toplam7 + say7
    If Cells(i, Columns.Count).End(xlToLeft).Column = 8 Then toplam8 = toplam8 + say8
    Next
    MsgBox "Girdi 1 :  " & toplam1 & "  Adettir"
    MsgBox "Girdi 2 :  " & toplam2 & "  Adettir"
    MsgBox "Girdi 3 :  " & toplam3 & "  Adettir"
    MsgBox "Girdi 4 :  " & toplam4 & "  Adettir"
    MsgBox "Girdi 5 :  " & toplam5 & "  Adettir"
    MsgBox "Girdi 6 :  " & toplam6 & "  Adettir"
    MsgBox "Girdi 7 :  " & toplam7 & "  Adettir"
    MsgBox "Girdi 8 :  " & toplam8 & "  Adettir"
    MsgBox "TOPLAM:Girdi :  " & toplam1 + toplam2 + toplam3 + toplam4 + toplam5 + toplam6 + toplam7 + toplam8 & "  Adettir"

End Sub
 
Son düzenleme:
Üst