Veri Doğrulama (Giriş İletisi) otomatik

Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Merhaba değerli arkadaşlar,

1-herhangi bir hücre içindeki verileri, Veri Doğrulama - Giriş İletisine taşıma istiyorum. Yani A2 Hücresi içinde ne varsa, Giriş İletisi göstersin istiyorum. Bunu tek tek yapmak çok uzayacak, kolay bir yolu var mı, bayağı bir hücre var..

2- Yine A2 hücresine daha sonra ekleyeceğim başka bir şeyin, Giriş İletisine otomatik gitmesi için Makro lazım sanırım.
yardımlarınız için teşekkür ederim. saygılar..
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Bu kodu deneyiniz.
Kod:
Sub İleti_Metni()
On Error Resume Next
    Cells(i, "A").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = Cells(i, "A").Text
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Merhaba

Bu kodu deneyiniz.
Kod:
Sub İleti_Metni()
On Error Resume Next
    Cells(i, "A").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = Cells(i, "A").Text
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
Değerli üstad, bu makro maalesef olmadı, bunu ekledikten sonra hiç bir hücrede Giriş iletileri de gelmemeye başladı. en sonda ki Nexk döngüsü de hata veriyor.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Nasıl olmuşsa bir satır silinmiş.

Kod:
Sub İleti_Metni()
On Error Resume Next
For i = 1 To Range("A1048576").End(3).Row
    Cells(i, "A").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = Cells(i, "A").Text
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Merhaba

Nasıl olmuşsa bir satır silinmiş.

Kod:
Sub İleti_Metni()
On Error Resume Next
For i = 1 To Range("A1048576").End(3).Row
    Cells(i, "A").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = Cells(i, "A").Text
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
Değerli hocam mükemmel çalışıyor. emeğinize sağlık.

-Veri İleti bilgi ekran genişliği, içinde ki satır kadar olabiliyor mu, bu iletileri başka kaynaktan veya hücreden, alıp istediğimiz hücrede gösterme gibi bir şansımız var mı?
Teşekkür ederim...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Döngü kullanmadan da yapılabilir.

Bold bölümler çıkmasını istediğiniz mesajın olduğu hücre adresidir.

Dilerseniz mouse ile hücre seçip uygulayabilirsiniz.

Rich (BB code):
Option Explicit

Sub Secili_Alana_Uyari_Mesaji_Ekle()
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = Range("A1").Value
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Dilerseniz hücre adresi tanımlayabilirsiniz.

Rich (BB code):
Option Explicit

Sub Hucre_Araligina_Uyari_Mesaji_Ekle()
    With Range("A10:K20").Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = Range("A1").Value
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Merhaba,

Döngü kullanmadan da yapılabilir.

Bold bölümler çıkmasını istediğiniz mesajın olduğu hücre adresidir.

Dilerseniz mouse ile hücre seçip uygulayabilirsiniz.

Rich (BB code):
Option Explicit

Sub Secili_Alana_Uyari_Mesaji_Ekle()
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = Range("A1").Value
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Dilerseniz hücre adresi tanımlayabilirsiniz.

Rich (BB code):
Option Explicit

Sub Hucre_Araligina_Uyari_Mesaji_Ekle()
    With Range("A10:K20").Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = Range("A1").Value
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub
Değerli hocam, Bu sadece A1 hücresini gösteriyor. ilk verdiğiniz makroda V sütunu hücrelerinde hepsi olmuştu. Şimdi şunu istiyorum, ilk formüldeki döngü gibi V sütunu hücreleri U hücrelerinde gösterilebilir mi?
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Kod:
Sub İleti_Metni()
On Error Resume Next
For i = 1 To Range("V104").End(3).Row
    Cells(i, "u").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = Cells(i, "v").Text
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
Değerli hocam sayenizde kodu bu şekilde yapınca tam istediğim gibi oldu. eksik veya hata var mı acaba? ellleriniz dert görmesin.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben ilk mesajınızda A2 diye belirtince tek hücredeki uyarıyı başka bir alanda görüntülemek istediğinizi düşündüm.

Eğer her hücre kendi satırında işleme alınacaksa #6 nolu mesajdaki kodu kullanmanız uygun olacaktır.

Son mesajınıza göre aşağıdaki kodu deneyebilirsiniz.

C++:
Option Explicit

Sub Hucre_Araligina_Uyari_Mesaji_Ekle()
    Dim Veri As Range
    
    Range("U:U").Validation.Delete
    
    For Each Veri In Range("V1:V" & Cells(Rows.Count, "V").End(3).Row)
        With Veri.Offset(, -1).Validation
            .Delete
            .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
            .InputMessage = Veri.Value
            .ShowInput = True
        End With
    Next

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Ben ilk mesajınızda A2 diye belirtince tek hücredeki uyarıyı başka bir alanda görüntülemek istediğinizi düşündüm.

Eğer her hücre kendi satırında işleme alınacaksa #6 nolu mesajdaki kodu kullanmanız uygun olacaktır.

Son mesajınıza göre aşağıdaki kodu deneyebilirsiniz.

C++:
Option Explicit

Sub Hucre_Araligina_Uyari_Mesaji_Ekle()
    Dim Veri As Range
   
    Range("U:U").Validation.Delete
   
    For Each Veri In Range("V1:V" & Cells(Rows.Count, "V").End(3).Row)
        With Veri.Offset(, -1).Validation
            .Delete
            .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
            .InputMessage = Veri.Value
            .ShowInput = True
        End With
    Next

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Hocam çok işe yaradı, şöyle bir sorun var, V sütunu U hücrelerinde gösteriyor (Bu tamam) ancak T sütunuda V hücrelerinde gösteriyor bu önceki makroları deneme-yanılma için sildim diye mi kaldı acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Kod:
Sub İleti_Metni()
On Error Resume Next
For i = 1 To Range("V104").End(3).Row
    Cells(i, "u").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = Cells(i, "v").Text
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
Değerli hocam sayenizde kodu bu şekilde yapınca tam istediğim gibi oldu. eksik veya hata var mı acaba? ellleriniz dert görmesin.
Merhaba

Bu satırı revize edin, ilerde hatalı sonuç almazsınız.

For i = 1 To Range("V1048576").End(3).Row
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Sayfada kalmış olan başka girdi iletileri varsa temizleyip yeniden yazmak için bunu kullanabilirsiniz.

Kod:
Sub İleti_Metni()
On Error Resume Next
Cells.Select
    With Selection.Validation
        .Delete
        .InputMessage = ""
    End With
For i = 1 To Range("V1048576").End(3).Row
    Cells(i, "U").Select
    With Selection.Validation
        .Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = Cells(i, "V").Text
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Merhaba

Bu satırı revize edin, ilerde hatalı sonuç almazsınız.

For i = 1 To Range("V1048576").End(3).Row
Bu yazdığınız revize öncesi 26 satır gösteriyordu; şimdi tüm satırlara ileti geldi. harika oldu.
Bu ileti kutucuğunun koordinat ve boyutları için bir ayar var mı acaba?
Çok teşekkür ederim..


Kod:
Sub İleti_Metni()
On Error Resume Next
For i = 1 To Range("V1048576").End(3).Row
    Cells(i, "u").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .InputMessage = Cells(i, "v").Text
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Bunu deneyiniz.

Girdi ileti kutusunu fare ile yer değiştirirseniz hep o konumda açılır.

Kod:
Sub İleti_Metni()
On Error Resume Next
Cells.Select
    With Selection.Validation
        .Delete
        .InputMessage = ""
    End With
For i = 1 To Range("V1048576").End(3).Row
    Cells(i, "U").Select
    With Selection.Validation
        .Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = "" & Chr(10) & Cells(i, "V").Text & Chr(10) & "."
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Merhaba

Bunu deneyiniz.

Girdi ileti kutusunu fare ile yer değiştirirseniz hep o konumda açılır.

Kod:
Sub İleti_Metni()
On Error Resume Next
Cells.Select
    With Selection.Validation
        .Delete
        .InputMessage = ""
    End With
For i = 1 To Range("V1048576").End(3).Row
    Cells(i, "U").Select
    With Selection.Validation
        .Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = "" & Chr(10) & Cells(i, "V").Text & Chr(10) & "."
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
Hocam o ellerin dert görmesin. çok güzel oldu. Koordinat da tamam. ama bundan önceki kodda kutucuk içinde ki 1. satır BOLD karakterdi. o kayboldu.
 
Katılım
26 Ocak 2022
Mesajlar
56
Excel Vers. ve Dili
excel
Altın Üyelik Bitiş Tarihi
27-01-2023
Merhaba

Bunu deneyiniz.

Girdi ileti kutusunu fare ile yer değiştirirseniz hep o konumda açılır.

Kod:
Sub İleti_Metni()
On Error Resume Next
Cells.Select
    With Selection.Validation
        .Delete
        .InputMessage = ""
    End With
For i = 1 To Range("V1048576").End(3).Row
    Cells(i, "U").Select
    With Selection.Validation
        .Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = "" & Chr(10) & Cells(i, "V").Text & Chr(10) & "."
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Next
End Sub
Hocam hücreye veriyi giriyorum ancak iletiyi hemen güncellemiyor. sayfa yeniden açılınca mı yeniliyor. Ben makroyu durudurup yeniden çalıştırınca yeniledi. başka şekil güncelleme olmuyor.
 
Üst