or sorunu hk.

Katılım
8 Mayıs 2005
Mesajlar
87
Excel Vers. ve Dili
Office 2010 - 2013 İngilizce
Merhaba,

if ile yazıp birleştiğim or içeren kodların aynı satirda birden fazla hücreyi test etmesi gerekiyor. Nitekim de ediyor hücre içeriklerine bakıldığından veri olması gerektiği şekilde.

Ama birden fazla or birleştiğinden hatalı sonuç veriyor.. Neden anlamayadım.

Yardımcı olabilirseniz sevinirim..
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,595
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Ne yapmak istiyorsunuz ve sorun nedir?.
 
Katılım
8 Mayıs 2005
Mesajlar
87
Excel Vers. ve Dili
Office 2010 - 2013 İngilizce
Başlık 11, 16,17 ve 18'in altında yer alan verileri;

If indirim <> "Yapılmıs" Or g0_touch <> 1 Or d1_touch <> 1 Or raw <> 4 Or raw <> 6 Then

üstteki if kodunu düzgün çalıştıracak şekilde test etmek istiyorum

Bu şekilde yazınca hatalı sonuç veriyor: Mesela ilk satırda Başlık18 verisi 4 olmasına rağmen kod çalıştırıldığında şu 2 numaralı satırda hata veriyor diyor (Bu koşullardan hiçbiri sağlanmadığı zaman hata oluştu mesajı vermesi gerekiyor)

"Or" ları bağlarken bir yeri yanlış yaptığımı düşünüyorum ama nereyi tam emin olamadım
 
S

Skorpiyon

Misafir
Sayın demirtas,

Kodlarınızı kontrol etmedim ama, eklediğiniz dosyada Başlık 11 olarak belirttiğiniz alandaki yapılmış, yapılmamış ifadelerinde yazının önünde tek tırnak işareti var.

Bu kodlarınızda hataya neden olabilir. Tırnakları kaldırarak kodlarınızın çalışmasını tekrar kontrol edin derim.

'Yapılmış 'Yapılmamış şeklinde yazmışsınız.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,595
Excel Vers. ve Dili
Ofis 365 Türkçe
Sorunuzu tam olarak anlamad&#305;m ama Or yerine And kullan&#305;n.
 
Katılım
8 Mayıs 2005
Mesajlar
87
Excel Vers. ve Dili
Office 2010 - 2013 İngilizce
benim biraz da hücreleri test ederken mantık hatam oluşmuş sanırım.. Eşit değildir ile yazmak biraz kafa karıştırıyor Kodun son hali ekte: Düzgün çalışıyor

Teşekkürler

Kod:
Sub ara()
    satir = 2
    Do Until Cells(satir, 11) = ""
        indirim = Cells(satir, 11).Value
        g0_touch = Cells(satir, 16).Value
        d1_touch = Cells(satir, 17).Value
        raw = Cells(satir, 18).Value
            If raw < 60 Then
                If g0_touch = 1 Or d1_touch = 1 Or raw = 4 Or raw = 6 Or indirim = "Yapılmıs" Then
                'If indirim <> "Yapılmamıs" Or g0_touch <> 1 Or d1_touch <> 1 Or raw <> 4 Then
                Else
                    MsgBox satir & " numarali satir hatali"
                End If
            ElseIf raw > 644 Then
                If indirim = "Yapılmıs" Or g0_touch = 1 Or d1_touch = 1 Then
                    
                Else
                    MsgBox satir & " numarali satir hatali"
                End If
            End If
    satir = satir + 1
    Loop
    
End Sub
 
Üst