• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Sayı Toplamı Msgbox Bildirimi

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

jason

Yeni Üye
Katılım
26 Nis 2022
Mesajlar
22
Aldığı beğeni
4
Excel V
Office 365 TR
Konu Sahibi
İkiden başlanarak bire kadar 0.05 aralıklarla olan sayıların çift olanlarını
toplayıp, sonucu msgbox kutusu ile kullanıcıya ileten VBA kodunu yazınız
 
Çözüm
Buyurun:

Sub hesapla()
Dim bas As Double, eksilt As Double, sonuc As Double

bas = 2: eksilt = 0.05
Do While bas >= 1
If bas * 100 Mod 2 = 0 Then sonuc = sonuc + bas
bas = WorksheetFunction.RoundUp(bas - eksilt, 2)
Loop

MsgBox "Bulunan sonuç: " & sonuc, vbInformation
End Sub

Bu döngü ile...
2 ile 1 arasında tamsayı sadece 2 ve 1 dir. Burası tamam.

Ondalıklı sayılarda tek çift nasıl olacak???
 
Matematikte çift sayı tanımı;
n bir tamsayı olmak üzere 2n şeklinde ifade edilen sayılar çift sayıdır. Yani bir sayının çift yada tek olması için önce tamsayı olması lazım. 1,90 tamsayı değildir. Dolayısı ile tek ya da çift olarak sınıflandıramazsınız.
 
askan Hocamın dediği gibi son basamağı çift olan sayıları istiyor olabilir misiniz...
 
Buyurun:

Sub hesapla()
Dim bas As Double, eksilt As Double, sonuc As Double

bas = 2: eksilt = 0.05
Do While bas >= 1
If bas * 100 Mod 2 = 0 Then sonuc = sonuc + bas
bas = WorksheetFunction.RoundUp(bas - eksilt, 2)
Loop

MsgBox "Bulunan sonuç: " & sonuc, vbInformation
End Sub

Bu döngü ile...
 
Son düzenleme:
Çözüm
Konu Sahibi
Buyurun:

Sub hesapla()
Dim bas As Double, eksilt As Double, sonuc As Double

bas = 2: eksilt = 0.05
Do While bas >= 1
If bas * 100 Mod 2 = 0 Then sonuc = sonuc + bas
bas = bas - eksilt
Loop
MsgBox "Bulunan sonuç: " & sonuc, vbInformation
End Sub
Teşekkür ederim hocamm..
 
Ufak bir düzeltme yaptım. Kodu tekrar alınız.
 
Bu da matematikteki terim sayısı ve düzenli artış formülü ile...

Sub hesapla2()
Dim tsayisi As Double, eksilt As Double, aa As Double, bb As Double, sonuc As Double

aa = 1: bb = 2: eksilt = 0.1
tsayisi = ((bb - aa) / eksilt) + 1
sonuc = (aa + bb) / 2 * tsayisi

MsgBox "Bulunan sonuç: " & sonuc, vbInformation
End Sub
 
Son düzenleme:
Her iki makroda da 1 sayısı "," sonrasında 2 haneli yazıldığında yani 1,00 şeklinde olduğunda çift olarak kabul edildi.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst