AccessTr.neT
Şartlı Veri Girmek - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Şartlı Veri Girmek (/konu-sartli-veri-girmek.html)

Sayfalar: 1 2 3


Şartlı Veri Girmek - m_demir - 22/05/2021

Merhaba Arkadaşlar.

Eğer A hücresi boş ise B,C,D hücrelerine giriş yapmama izin vermesin uyarı versin.
Ayni şekilde F hücresi boş ise G,H,I hücrelerine giriş yapmama izin vermesin uyarı versin.

Bunun için nasıl bir kod eklemem gerekiyor.


RE: Şartlı Veri Girmek - feraz - 22/05/2021

Merhaba.
Resimdeki gibi kodları ilgili yerlere ekleyin.

[Resim: do.php?img=11053]
https://resim.accesstr.net/do.php?img=11053

[Resim: do.php?img=11054]
https://resim.accesstr.net/do.php?img=11054

Kod:
hedef.Offset(0, 1).Select
yerine kısaca
Kod:
hedef.Select
olarakta yazılabilinirdi.

Private Sub Worksheet_Deactivate()
    Kapat
    Set hedef = Nothing
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set hedef = Target
    Ac
End Sub




Public hedef As Range

Sub Ac()
    Application.OnKey "{TAB}", "Test"
End Sub

Sub Kapat()
    Application.OnKey "{TAB}"
End Sub

Sub Test()
    If ActiveSheet.name = "Sayfa1" Then
        If hedef.Column = 1 Or hedef.Column = 6 Then
          If hedef.Value = "" Then
              hedef.Offset(0, 0).Select
          Else
              hedef.Offset(0, 1).Select
          End If
        Else
            Kapat
        End If
    End If
End Sub



RE: Şartlı Veri Girmek - feraz - 22/05/2021

Siz sormadan ben ekleyeyim yinede.
Belirli satırdan sonrası için ise alttaki kodu kullanın moduldeki ile değiştirip.
Daha doğrusu modül kodu olarak bu daha iyi.


Public hedef As Range

Sub Ac()
    Application.OnKey "{TAB}", "Test"
End Sub

Sub Kapat()
    If ActiveSheet.name = "Sayfa1" Then hedef.Offset(0, 1).Select
    Application.OnKey "{TAB}"
End Sub

Sub Test()
    If ActiveSheet.name = "Sayfa1" Then
        If (hedef.Column = 1 Or hedef.Column = 6) And hedef.row > 1 Then
           If hedef.Value = "" Then
              hedef.Select
           Else
              hedef.Offset(0, 1).Select
           End If
        Else
            Kapat
        End If
    End If
End Sub



RE: Şartlı Veri Girmek - feraz - 22/05/2021

Sizin yerinize ben örnek eklemiş olayım Img-grin
Normalde sizin yüklemeni gerekiyordu ama neyse tövbemi bozdum bu örnek dosya olayı için Img-grin
Thisworkbook içine de ekleyip kodda biraz değişiklik yaptım deneyiniz.

Kolay gelsin.


Re: Şartlı Veri Girmek - m_demir - 22/05/2021

Çok teşekkürler Hocam ellerinize sağlık.

Hocam kodları resimdeki gibi ekledim.

Kodlar çalışmıyor.

Hocam benim istediğim A2 hücresi boş ise B2,C2,D2 hücrelerine giriş yapmama izin vermesin uyarı versin.
Ayni şekilde F2 hücresi boş ise G2,H2,I2 hücrelerine giriş yapmama izin vermesin uyarı versin.
A2 den I150 kadar olan hücreler için geçerli olsun.

A ve F sütunların da Veri doğrulama olarak liste var.


RE: Şartlı Veri Girmek - feraz - 22/05/2021

Dosya ekleyiniz.......
Zaten sub AutoClose modül içine eklenir sayfa koduna değil.

(22/05/2021, 18:06)m_demir yazdı: A2 hücresi boş ise B2,C2,D2 hücrelerine giriş yapmama izin vermesin uyarı versin.
Ayni şekilde F2 hücresi boş ise G2,H2,I2 hücrelerine giriş yapmama izin vermesin uyarı versin.
Uyarı için mesaj kutusu eklenir sadece hedef.Offset(0, 0).Select bunun altına.
Kod dediğiniz gibi çalışıyor zaten.

Ben Tab tşuna göre yaptım.

Eğer b2,c2 ve d2 ye tıklanın A2 boşsa diyorsanız kod ona göre ayarlanır.