VBA da EVEN ve ODD fonksiyonları

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,793
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
mod(2) yada TEKMİ, ÇİFTMİ, ISODD, ISEVEN fonksiyonlarını kullanmadan VBA da sayının çift yada tek olduğunu excel nasıl söyler?
Saygılarımla
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,053
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba Arkadaşlar,
mod(2) yada TEKMİ, ÇİFTMİ fonksiyonlarını kullanmadan VBA da sayının çift yada tek olduğunu excel nasıl söyler?
Saygılarımla
deneyiniz....

Kod:
If a Mod 2 = 0 Then

MsgBox "Sayı Çift"

Else

MsgBox "Sayı tek"

End If
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,793
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Mod kullanmadan yok mu?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bölme işlemi yaparak sonuç alabilirsiniz.

Bölende kalan yoksa sayı çifttir. Aksi durumda tektir.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,793
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sizlere katılıyorum. Bölünebilme kurallarına da iiraz etmiyorum. Ama =TEKMİ(A1) sorusuna cevap DOĞRU yada YANLIŞ oluyor. Bunu VBA da demenin mod(2) ve fonksiyon dışında bir yolu varsa, onu arıyorum.
Saygılarımla
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub TEST()
    sayi = 23
    MsgBox IIf((-1) ^ sayi > 0, "Çift", "Tek")
End Sub
Kod:
Function tekSayi(sayi)
    tekSayi = IIf((-1) ^ sayi < 0, True, False)
End Function
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu önerimi veyselemre bey gibi fonksiyon haline getirip kullanabilirsiniz.

C++:
Option Explicit

Sub Test()
    Dim My_Number As Variant
    
    On Error GoTo Son
    
    My_Number = InputBox("Lütfen bir sayıs giriniz...")

    MsgBox K_ISEVEN(My_Number)
    
    Exit Sub

Son: MsgBox "Hatalı değer girdiniz!", vbCritical
End Sub

Function K_ISEVEN(ByVal My_Number As Variant) As Boolean
    K_ISEVEN = IIf(My_Number / 2 = Int(My_Number / 2), True, False)
End Function
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,793
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Hepinize teşekkür ederim.
Saygılarımla
 
Üst