• DİKKAT

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

Aralık dışında uyarı mesajında hata

  • Konbuyu başlatan Konbuyu başlatan ZFRKNC
  • Başlangıç tarihi Başlangıç tarihi
Katılım
3 Temmuz 2020
Mesajlar
2
Excel Vers. ve Dili
vba
öncelikle merhabalar; excel'de bir butonum var o butona basınca seçili hücrelerin hem rengi ,hem de ismi değişiyor ve saçilen hücreler istenilen aralıkta değilse uyarı veriyor.Kullandığım kod ;

Sub Ö_ÇATAL()
Dim hücre_fiz As Range
For Each hücre_fiz In Selection
If Not Intersect(hücre_fiz, [C6:T6]) Is Nothing Then
Selection.Interior.Color = RGB(127, 255, 212)
Selection.Value = "Ö. ÇATAL"
Else

MsgBox "SERDAR BEY , lütfen ;" & vbNewLine & "" & vbNewLine & " * FİZİK * " & vbNewLine & "" & vbNewLine & " Satırından hücreler seçiniz..", vbOKCancel + vbInformation, " BİLGİLENDİRME ... "
Exit Sub
End If
Next hücre_fiz

Seçilen hücreler arasında c6:t6 arasında herhangi bir hücre yok ise sıkıntı olmuyor ancak , seçilen hücreler örneğin c6 ve c7 ise bu sefer hem uyarı veriyor hem de hücrelere isim yazıp,rengini değiştiriyor.Bunu nasıl düzeltebilirim ?
Teşekkür ederim .
 
Merhaba,

Döngüye gerek olmadan aşağıdaki gibi de kullanabilirsiniz.
Kod:
Sub Ö_ÇATAL_YENİ()
    
    With Selection
        If .Address(0, 0) = "C6:T6" Then
            .Interior.Color = RGB(127, 255, 212)
            .Value = "Ö. ÇATAL"
        Else
            MsgBox "SERDAR BEY , lütfen ;" & vbNewLine & "" & vbNewLine & " * FİZİK * " _
                & vbNewLine & "" & vbNewLine & " Satırından hücreler seçiniz..", _
                    vbOKCancel + vbInformation, " BİLGİLENDİRME ... "
        End If
    End With
        
End Sub
 
Kodunuzun başına On Error Resume Next ifadesini ekleyerek deneyiniz( Sub Ö_ÇATAL() ifadesinden sonra)
 
Kodunuzun başına On Error Resume Next ifadesini ekleyerek deneyiniz( Sub Ö_ÇATAL() ifadesinden sonra)


Ekleyin.Programınız hatalı çalışsın.:cool:
 
Son düzenleme:
Aşağıdaki kod istediğinizi yapacaktır.
Kod:
Sub Ö_ÇATAL()
Debug.Print Selection.Address
Dim hücre_fiz As Range
For Each hücre_fiz In Selection
If Not Intersect(hücre_fiz, [C6:T6]) Is Nothing Then
hücre_fiz.Interior.Color = RGB(127, 255, 212)
hücre_fiz.Value = "Ö. ÇATAL"
Else

MsgBox "SERDAR BEY , lütfen ;" & vbNewLine & "" & vbNewLine & " * FİZİK * " & vbNewLine & "" & vbNewLine & " Satırından hücreler seçiniz..", vbOKCancel + vbInformation, " BİLGİLENDİRME ... "
Exit Sub
End If
Next hücre_fiz

End Sub
 
Aşağıdaki kod istediğinizi yapacaktır.
Kod:
Sub Ö_ÇATAL()
Debug.Print Selection.Address
Dim hücre_fiz As Range
For Each hücre_fiz In Selection
If Not Intersect(hücre_fiz, [C6:T6]) Is Nothing Then
hücre_fiz.Interior.Color = RGB(127, 255, 212)
hücre_fiz.Value = "Ö. ÇATAL"
Else

MsgBox "SERDAR BEY , lütfen ;" & vbNewLine & "" & vbNewLine & " * FİZİK * " & vbNewLine & "" & vbNewLine & " Satırından hücreler seçiniz..", vbOKCancel + vbInformation, " BİLGİLENDİRME ... "
Exit Sub
End If
Next hücre_fiz

End Sub

Evet, tam da istediğim bu idi, çok teşekkür ederim
 
Geri
Üst