• DİKKAT

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

Soru Dolu Hücre(ler) seçilemesin

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
659
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Arkadaşlar,
Aşağıdaki sorunu çözecek bir koda ihtiyacım var.

E8:E28 ve F8:F28 aralıklarına elle değer yazılıyor.
Eğer E ve F sütunlarında değer varsa E sütununa dokunulamasın ve G sütunundaki ilgili satırdaki hücre seçilsin ve MsgBox çıksın.
Dosya üzerinde örnekli açıklama vardır.

Yardımlarınızı rica ederim.
 

Ekli dosyalar

Merhaba.

Eğer mesajlar farklı olacaksa.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("E8:F28")) Is Nothing Then
        If Cells(Target.Row, "C") <> "" Then
            Cells(Target.Row, "G").Select
            MsgBox "Bu alana dokunulamaz.", vbCritical, Title:="UYARI"
        ElseIf Cells(Target.Row, "E") <> "" And Cells(Target.Row, "F") <> "" Then
            Cells(Target.Row, "G").Select
            MsgBox "Mesajı buraya yazabilirsiniz."
        End If
    End If
End Sub

Eğer her iki mesaj da aynı olacaksa.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("E8:F28")) Is Nothing Then
        If Cells(Target.Row, "C") <> "" Or Cells(Target.Row, "E") <> "" And Cells(Target.Row, "F") <> "" Then
            Cells(Target.Row, "G").Select
            MsgBox "Bu alana dokunulamaz.", vbCritical, Title:="UYARI"
        End If
    End If
End Sub
 
Muzaffer Ali,
Kodlar için teşekkürler.
İlk kodu kullanacağım.

Şöyle bir sorun var:
ElseIf Cells(Target.Row, "E") <> "" And Cells(Target.Row, "F") <> "" Then
Sorun: Yukarıdaki kod satırındaki durum gerçekleşirse hem E hem de F sütunundaki hücreye dokunmaya izin vermiyor.
Şöyle olmalı: Yukarıdaki kod satırındaki durum gerçekleşirse sadece E sütunundaki hücreyi seçmeye izin vermesin.
 
Merhaba;
Alternatif:
Mevcut kodları;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
sat = Target.Row
süt = Target.Column
If sat >= 8 And sat <= 28 And süt = 5 Then
If Cells(sat, 5) <> "" And Cells(sat, 6) <> "" Then
Cells(sat, 7).Select
MsgBox "Bu alana dokunulamaz.", vbCritical, Title:="UYARI"
End If
End If
End Sub

Şeklinde düzenleyerek deneyin.
İyi çalışmalar.
 
muygun,
Kod için teşekkürler.
Muzaffer Ali'nin 2. iletideki ilk kodunda olduğu gibi iki ayrı msgbox çıkması gerekiyor. Yolladığınız kodla sorun çözülmüyor.
 
Aşağıdaki kodu deneyin.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("E8:F28")) Is Nothing Then
        If Cells(Target.Row, "C") <> "" Then
            Cells(Target.Row, "G").Select
            MsgBox "Bu alana dokunulamaz.", vbCritical, Title:="UYARI"
        ElseIf Not Intersect(Target, Range("E8:E28")) Is Nothing And Cells(Target.Row, "E") <> "" And Cells(Target.Row, "F") <> "" Then
            Cells(Target.Row, "G").Select
            MsgBox "Mesajı buraya yazabilirsiniz."
        End If
    End If
End Sub
 
Muzaffer Ali,
Son kod işlemi eksiksiz yaptı.
Yardımınız için teşekkürler. Sağ olun.
 
Geri
Üst