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

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 .
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
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
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Kodunuzun başına On Error Resume Next ifadesini ekleyerek deneyiniz( Sub Ö_ÇATAL() ifadesinden sonra)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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:

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
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
 
Katılım
3 Temmuz 2020
Mesajlar
2
Excel Vers. ve Dili
vba
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
 
Üst