A ve B hücrelerinin toplamı 30 geçmesin

Katılım
30 Kasım 2011
Mesajlar
133
Excel Vers. ve Dili
2007 türkçe
Merhaba arkadaşlar A ve B hücrelerinde 2sayısal rakamlarının toplamı 30 geçmesin istiyorum. 30 geçtiğinde ekrana uyarı gelecek. (Veril doğrulama seçeneği ile yapmak istiyorum)
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
A1:B&istediğiniz kadar aşağı seçin ve veri doğrulama menüsünde Özel seçeneğini seçip aşağıdaki formülü kullanın:

=$A1+$B1<=30
 
Katılım
30 Kasım 2011
Mesajlar
133
Excel Vers. ve Dili
2007 türkçe
cevap için teşekür ediyorum. ama veri doğrulmayı "liste" seçeneğiile kaynak kısmını dolmuşum. nereye yazabilirim.
 
Katılım
24 Haziran 2022
Mesajlar
26
Excel Vers. ve Dili
Excel 2016 - Tr
Altın Üyelik Bitiş Tarihi
24-06-2023
Hocam biraz daha detaylı açıklayabilir misiniz ?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Verileri veri doğrulama listesinden seçerek kaydetmek istiyorsanız benim önerimi kullanamazsınız maalesef. Ya listeden girilmesi ya da benim önerim şeklinde.

Bildiğim kadarıyla liste özelliğine belirttiğiniz gibi bir kısıtlama yapılamaz. Yani başka hücredeki veriye göre ayarlanamaz. Belki üstadlarım benim bilmediğim bir yöntemi varsa hepimize öğretirler.

Ancak şöyle bir çözüm de olabilir: hücre seçimine bağlı çalışan bir makro aracılığıyla veri doğrulama listesi anlık olarak değiştirilebilir. Makro kullanmak sorun değilse bu yönde ilerleyebiliriz.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Örneğin aşağıdaki kodları ilgili sayfanın kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırırsanız B1 hücresini seçtiğinizde B1'in veri doğrulama listesini A1 hücresindeki değere göre düzenler:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
If IsNumeric(Target) = False Then
    Target.Offset(0, 1).Validation.Delete
    Exit Sub
ElseIf Target >= 30 Then
    Target.Offset(0, 1).Validation.Delete
    Exit Sub
Else
    son = 30 - Target
    Dim dizi()
    'ReDim dizi(son)
    Target.Offset(0, 1).Validation.Delete
    For i = 1 To son
        ReDim Preserve dizi(0 To i)
        dizi(i - 1) = i
    Next
    With Target.Offset(0, 1).Validation
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Join(dizi, ",")
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End If
Application.ScreenUpdating = True
End Sub
 
Katılım
19 Mart 2010
Mesajlar
144
Excel Vers. ve Dili
Office 365 İngilizce
Altın Üyelik Bitiş Tarihi
20-01-2024
Hocam gireceğiniz sayıların A1 ve B1 hücrelerine girileceğini varsayıyorum.

A2 hücresine =30-A1
B2 hücresine =30-B1

formüllerini uygulayın. Daha sonra

A1 hücresi için veri doğrulamada tüm sayı > küçük eşit > A2
B1 hücresi için veri doğrulamada tüm sayı > küçük eşit > B2

Daha sonra 2. satırı gizleyebilirsiniz. Benim aklıma gelen en pratik yol bu oldu
 

Ekli dosyalar

Üst