boş hücre ikazı

Katılım
18 Temmuz 2006
Mesajlar
47
Excel Vers. ve Dili
office 2003 tr
Selam arkadaşlar
Bir excel sayfasında istenilen bir bölgede asla boş hücre geçilememeli.Yani kullanıcı önemli bir sayıyı yazmadan geçemesin.Böyle bir önlem alma yöntemi olabilir mi?


Teşekkürler.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Sayfa kod bölümüne yazınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a1:a5]) Is Nothing Then Exit Sub
For sut = 0 To 4
deg = Array("a1", "a2", "a3", "a4", "a5")
If Range(deg(sut)) = "" Then
MsgBox "a1:a5 Aralığı boş geçilemez"
Exit Sub
End If
Next
End Sub
 
Katılım
18 Temmuz 2006
Mesajlar
47
Excel Vers. ve Dili
office 2003 tr
Üstadım süper süper.Bir isteğim daha olsa.Bu formülü geniş bir sayfaya nasıl yayabiliriz?Mesela N sütununa kadar ve 50 satır kadar.

Teşekkürler.
 

Orion1

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

Ofis-2010-TR 32 Bit
Merhaba.
Sayfanın kod bölümüne aşağıdaki kodları yazıp denermisiniz.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim hucre As Range
On Error GoTo hata
If Intersect(Target, [A1:N50]) Is Nothing Then Exit Sub
For Each hucre In Range("A1:N50")
    If hucre.Value = Empty Then
        MsgBox "A1:N50 Aralığı boş geçilemez", vbCritical
        Exit For
    End If
Next
hata:
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Veri aralığını renkli yerlerden değiştirebilirsiniz
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [[COLOR="Red"]a1:n50[/COLOR]]) Is Nothing Then Exit Sub
For Each alan In Range("[COLOR="Red"]a1:n50[/COLOR]")
If alan = "" Then
MsgBox "[COLOR="Red"]a1:n50[/COLOR] Aralığı boş geçilemez"
Exit Sub
End If
Next
End Sub
 
Katılım
18 Temmuz 2006
Mesajlar
47
Excel Vers. ve Dili
office 2003 tr
Üstadım

Ne diyeceğimi şaşırdım.

Size ve Sayın V.B. ' ye ÇOOOOOOOOOK teşekkürler.
 
Katılım
18 Temmuz 2006
Mesajlar
47
Excel Vers. ve Dili
office 2003 tr
Üstadlar
Diyelimki boş geçtiğim hücrenin denk geldiği sütun başlığı örn.(İŞE GİRİŞ TARİHİ) gibi bir başlık olsa,çıkan uyarı mesela İŞE GİRİŞ TARİHİNİ BOŞ GEÇEMEZSİNİZ gibi bir uyarı olabilir mi?

Umarım sizleri sıkmıyorum.

Teşekkürler.
 

Orion1

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

Ofis-2010-TR 32 Bit
Üstadlar
Diyelimki boş geçtiğim hücrenin denk geldiği sütun başlığı örn.(İŞE GİRİŞ TARİHİ) gibi bir başlık olsa,çıkan uyarı mesela İŞE GİRİŞ TARİHİNİ BOŞ GEÇEMEZSİNİZ gibi bir uyarı olabilir mi?

Umarım sizleri sıkmıyorum.

Teşekkürler.
Sütun başlıkları 1nci satırda olduğu varsayılmıştır.
Doğru kodlar 9 nolu mesajdadır.Oradan yapıştırınız.:cool:
 
Son düzenleme:

Orion1

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

Ofis-2010-TR 32 Bit
Merhaba.
Aşağıdaki kodları kullanmanız dağa doğrudur.:cool:
Sütun başlıkları 1nci satırda olduğu varsayılmıştır.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim hucre As Range, adrs As String
On Error GoTo hata
If Intersect(Target, [A1:N50]) Is Nothing Then Exit Sub
For i = 1 To 14
    adrs = Range(Cells(1, i), Cells(50, i)).Address
    For Each hucre In Range(adrs)
        If hucre.Value = Empty Then
            MsgBox "[ " & Cells(1, Target.Column).Value & " ] 'i boş geçemezsiniz..!!", vbCritical, Application.UserName
            Exit Sub
        End If
    Next
Next i
hata:
End Sub
 
Katılım
18 Temmuz 2006
Mesajlar
47
Excel Vers. ve Dili
office 2003 tr
Sayın orion2
ilgilerinize teşekkürler.
Lakin bir sorun var.Bir hücreye veri girip diğerine geçince anında ikaz veriyor.Oysa daha birşey yazmadım ki.Sadece diğer bir hücreye geçiş yaptım.
Diğer bir hücreye geçip yazmadan geçersem ikaz vermesi daha uygun olur diye düşündüm.Aksi takdirde her hücre değiştirmede ikaz + tamam olacak.

Teşekkürler.
 

Orion1

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

Ofis-2010-TR 32 Bit
Aşağıdaki kodu çalışma sayfasının General kısmına
Kod:
Dim eski As String
Aşağıdaki koduda çalışma sayfasının kod bölümüne yapıştırınız.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:N50]) Is Nothing Then Exit Sub
On Error GoTo hata
eski = Target.Value
hata:
End Sub
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A1:N50]) Is Nothing Then Exit Sub
On Error GoTo hata
If eski = "" Then
    MsgBox "[ " & Cells(1, Target.Column) & " ] 'i boş geçemezsiniz.", vbCritical, Application.UserName
End If
eski = Target.Value
hata:
End Sub
 
Katılım
18 Temmuz 2006
Mesajlar
47
Excel Vers. ve Dili
office 2003 tr
Üstadım şimdi kızma bana ama bu sayfanın General kısmı neresi bilmiyorum.???
 
Katılım
18 Temmuz 2006
Mesajlar
47
Excel Vers. ve Dili
office 2003 tr
Tamam üstadım
Buldum.

Sabrına saygılarımla.
 
Üst