• DİKKAT

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

msgbox hk.

  • Konbuyu başlatan Konbuyu başlatan kan-nas
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Temmuz 2008
Mesajlar
277
Excel Vers. ve Dili
2007
For k = 6 To 30

If Cells(k, 8).Value = "AŞIM VAR" Or Cells(k, 16).Value = "AŞIM VAR" Or Cells(k, 24).Value = "AŞIM VAR" Then
MsgBox "DİKKAT GÜNLÜK/AYLIK/KÜMÜLATİF STOP LOSS'TA AŞIM VAR", vbCritical, " STOP LOSS AŞIM BİLGİSİ"
End If
Next k
End Sub

Yukarıdaki kodu yazınca her aşım için yazısı için msgbox çıkıyor. Aşım olursa sadece 1 kere msgbox çıkmasını nasıl sağlayabilirim.
 
sürekli 8-16-24 no.lu sütunların 6-30 arasındaki satırlarına bakılacak ise....
(farklı aralık için kodun revize edilmesi gerekir.)

Kod:
Sub bul_mesaj_ver()

    Dim rng As Range, cll As Range
    Dim metAra As String, msgVar As String, msgYok As String, sBaşlık As String

    metAra = "AŞIM VAR"
    msgVar = "DİKKAT GÜNLÜK/AYLIK/KÜMÜLATİF STOP LOSS'TA AŞIM VAR"
    msgYok = "AŞIM YOK"
    sBaşlık = "STOP LOSS AŞIM BİLGİSİ"
    
    Set rng = Union(Range("H6:H30"), Range("P6:P30"), Range("X6:X30"))
    
    On Error Resume Next
    Set cll = rng.Find(what:=metAra, After:=Cells(6, 8), LookIn:=xlValues, _
        LookAt:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext)
    If Not cll Is Nothing Then
        MsgBox msgVar, vbCritical, sBaşlık
    Else
        MsgBox msgYok, vbOKOnly, sBaşlık
    End If

End Sub
 
End If'ten önce Exit Sub yazarak deneyiniz.
 
Son düzenleme:
Aşağıdaki gibi deneyiniz.
Kod:
Sub ErrorCheck()

For k = 6 To 30
    If Cells(k, 8).Value = "AŞIM VAR" Or Cells(k, 16).Value = "AŞIM VAR" Or Cells(k, 24).Value = "AŞIM VAR" Then
        MsgBox "DİKKAT GÜNLÜK/AYLIK/KÜMÜLATİF STOP LOSS'TA AŞIM VAR", vbCritical, " STOP LOSS AŞIM BİLGİSİ"
        Exit Sub
    End If
Next

End Sub
 
Sn quesh Sn mancubus teşekkür ederim.
 
Geri
Üst