Excel Mod Alma Yöntemi

Katılım
31 Mart 2009
Mesajlar
227
Excel Vers. ve Dili
2010 türkçe
Merhaba arkadaşlar. Basit bir kod ile bir dizide bulunan sayıların tek mi çift mi olduğunu kontrol edebilir, ve kümüle olarak toplayabiliriz.
Öncelikle VBA'da mod kodu aşağıdaki gibidir;

Kod:
if Cells(1,1) mod 2 = 0
Yukarıdaki örnek bir sayının 2'ye bölümünden kalanının 0 olması durumunda işlem yapılacağını söylüyor. Yani sayının çift olup olmadığını buluyor.
Aşağıdaki kod ile A sütununda 1'den 100'e kadar olan bir sayı dizisinin tek ve çift sayı toplamlarını bulabilirsiniz.

Kod:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim ilk
Dim son
        
ilk = Cells(1, 1)
son = Cells(100, 1)
For i = ilk To son
If i Mod 2 = 0 Then
ciftler = ciftler + i
Else
tekler = tekler + i
End If
Next

MsgBox "Tek Sayıların Toplamı " & tekler & "   -  " & "Çift Sayıların Toplamı" & ciftler

End Sub
Faydalı olması dileğiyle...
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Sn. Lider22,

Kodlar hatalı sonuç veriyor olmalı, tekrar kontrol eder misiniz ?
Ya da şöyle söyleyeyim; sadece A1:A100 arasında 1'den 100'e kadar ardışık devam eden sayılarda geçerli görünüyor.
 
Katılım
31 Mart 2009
Mesajlar
227
Excel Vers. ve Dili
2010 türkçe
Murat bey dediginiz gibi a sutununda yer alan ardisik sayilar icin bu ornek. O amacla hazirlamistim. Aslinda 1.000.000 a kadar olan ardisik sayilarda da calisir bu kod.
 
E

ExcelF1

Misafir
Sayın lider22,

Değerli paylaşımlarınız için teşekkür ederim.

Müsaadenizle dikkatimi çeken bir kaç hususu bildireyim istedim.
Örneğin A1'den A100'e kadar rakamları ardışık olarak yazmaya gerek yok. A1'e 1, A100'e 100 yazsak yeterli oluyor. Kodda "ilk" ve "son" değişkenleri için de hücreye gitmeye gerek yok. Inputbox ile halledilebilir.

Kod:
Sub Düğme1_Tıklat()
ilk = InputBox("İlk rakam")
son = InputBox("Son rakam")
For i = ilk To son
If i Mod 2 = 0 Then
ciftler = ciftler + i
Else
tekler = tekler + i
End If
Next
MsgBox "Tek Sayıların Toplamı : " & tekler & "   -  " & "Çift Sayıların Toplamı : " & ciftler
End Sub
 
Üst