• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Macro (değerler arasında başarılı veya başarısız)

Katılım
7 Mayıs 2020
Mesajlar
17
Excel Vers. ve Dili
Ofis 2016 dili ingilizce
Merhaba Arkadaşlar,

excelde süresi verilen (saat cinsinden) bir işin için aşağıdaki kriterler yer almaktadır.Bu kriterlere göre sorgumu yapmaya çalıştım.Fakat sorguda b = "Başarılı" tarafı çalışmıyor.

0-4 saat arasında ve critical ise başarılı değilse başarısız.
4> and <=8 saat arasında ve High ise başarılı değilse başarısız
8> and <=16 saat arasında ve High ise başarılı değilse başarısız
16> and <=24saat arasında ve High ise başarılı değilse başarısız

Sub deneme()

For i = 2 To 1000

a = Cells(i, 9) 'Süre (saat) kolonu
b = Cells(i, 10) 'Başarı durumu kolonu
x = Cells(i, 12) 'T Severity_ kolonu

If x = "Critical" And a <= 4 Then Cells(i, 10) = b ' T Severity_ kolonuna Süre (saat) kolonu bak <=4 kuçük ise 10. kolona başarı durumunu yaz

If x = "High" And a > 4 And a <= 8 Then b = "Başarılı"
If x = "Medium" And a > 8 And a <= 16 Then b = "Başarılı"
If x = "Low" And a > 16 And a <= 24 Then b = "Başarılı"

Else b = "Başarısız"

Next i


End Sub
 
Aşağıdaki şekilde deneyiniz.
Kod:
Sub deneme()
For i = 2 To 1000
If Cells(i, 12) = "Critical" And Cells(i, 9) * 24 < 4 Then
Cells(i, 10) = "Başarılı"
ElseIf Cells(i, 12) = "High" And Cells(i, 9) * 24 > 4 And Cells(i, 9) * 24 <= 8 Then
Cells(i, 10) = "Başarılı"
ElseIf Cells(i, 12) = "Medium" And Cells(i, 9) * 24 > 8 And Cells(i, 9) * 24 <= 16 Then
Cells(i, 10) = "Başarılı"
ElseIf Cells(i, 12) = "Low" And Cells(i, 9) * 24 > 16 And Cells(i, 9) * 24 <= 24 Then
Cells(i, 10) = "Başarılı"
Else
Cells(i, 10) = "Başarısız"
End If
Next i
End Sub
 
Aşağıdaki şekilde deneyiniz.
Kod:
Sub deneme()
For i = 2 To 1000
If Cells(i, 12) = "Critical" And Cells(i, 9) * 24 < 4 Then
Cells(i, 10) = "Başarılı"
ElseIf Cells(i, 12) = "High" And Cells(i, 9) * 24 > 4 And Cells(i, 9) * 24 <= 8 Then
Cells(i, 10) = "Başarılı"
ElseIf Cells(i, 12) = "Medium" And Cells(i, 9) * 24 > 8 And Cells(i, 9) * 24 <= 16 Then
Cells(i, 10) = "Başarılı"
ElseIf Cells(i, 12) = "Low" And Cells(i, 9) * 24 > 16 And Cells(i, 9) * 24 <= 24 Then
Cells(i, 10) = "Başarılı"
Else
Cells(i, 10) = "Başarısız"
End If
Next i
End Sub
Merhaba Arkadaşlar herkeze çok teşekkür ederim

bu şekilde çalıştı.

Sub deneme()

For i = 2 To 1000

If Cells(i, 12) = "Urgent" And Cells(i, 9) < 4 Then
Cells(i, 10) = "Başarılı"

ElseIf Cells(i, 12) = "High" And Cells(i, 9) <= 8 Then
Cells(i, 10) = "Başarılı"

ElseIf Cells(i, 12) = "Medium" And Cells(i, 9) <= 16 Then
Cells(i, 10) = "Başarılı"

ElseIf Cells(i, 12) = "Low" And Cells(i, 9) <= 24 Then
Cells(i, 10) = "Başarılı"

Else
Cells(i, 10) = "Başarısız"

End If

Next i

End Sub
 
Geri
Üst