• DİKKAT

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

Belirlenen hücreler boş kalamasın; veri girişi yapılmadan kaydedilemesin

Katılım
2 Ağustos 2009
Mesajlar
29
Excel Vers. ve Dili
2003
Merhaba,

Çalışma sayfasında; b1,b2,b3,b7,b9,b12,b14,b17,b18,b21,b22 hücrelerinin hepsine veri girişi yapılmadan dosya kaydedilemesin yada bu hücreler asla boş kalamasın uyarı versin..

Bu hücrelere de sadece 0,1,2,3,4,5,6,7,8,9 karakterleri girilebilsin.

Bunun için çok arama yaptım basit birşey ama tam istedigimi yapamadım.

Aşağıdaki gibi bir kod bulabildim ama bunu devam ettiremiyorum..Yardımcı olabilirmisniz ?

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [b2]) Is Nothing Then GoTo atla
If ActiveCell.Offset(-1, 0).Value = "" Then
MsgBox "CİRO YAZMALISINIZ !"
ActiveCell.Offset(-1, 0).Select
End If
atla:
If Intersect(Target, [b3]) Is Nothing Then Exit Sub
If ActiveCell.Offset(-1, 0).Value = "" Then
MsgBox "FATURA SAYISI YAZMALISINIZ !"
ActiveCell.Offset(-1, 0).Select
End If
End Sub
 
Son düzenleme:
Merhaba
Kitabının kod bölümünde bulunan Thisworkbook'a bu kodu kopyalayın ve deneyin.
Kod:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If [B2] = Empty Or [B2] = Empty Or [B3] = Empty Or _
[B7] = Empty Or [B9] = Empty Or [B12] = Empty Or _
[B14] = Empty Or [B17] = Empty Or [B18] = Empty Or _
[B21] = Empty Or [B22] = Empty Then
Cancel = True
MsgBox "Dosya Kapatılamaz", vbCritical
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If [B2] = Empty Or [B2] = Empty Or [B3] = Empty Or _
[B7] = Empty Or [B9] = Empty Or [B12] = Empty Or _
[B14] = Empty Or [B17] = Empty Or [B18] = Empty Or _
[B21] = Empty Or [B22] = Empty Then
Cancel = True
MsgBox "Dosya Kaydedilemedi", vbCritical
End If
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
With WorksheetFunction
If .IsNumber([B1]) = False or [B1] = Empty Then [B1] = Empty: [B1].Select
If .IsNumber([B2]) = False or [B2] = EmptyThen [B2] = Empty: [B2].Select
If .IsNumber([B3]) = False or [B3] = Empty Then [B3] = Empty: [B3].Select
If .IsNumber([B7]) = False or [B7] = Empty Then [B7] = Empty: [B7].Select
If .IsNumber([B9]) = False or [B9] = Empty Then [B9] = Empty: [B9].Select
If .IsNumber([B12]) = False or [B12] = Empty Then [B12] = Empty: [B12].Select
If .IsNumber([B14]) = False or [B14] = Empty Then [B14] = Empty: [B14].Select
If .IsNumber([B17]) = False or [B17] = Empty Then [B17] = Empty: [B17].Select
If .IsNumber([B18]) = False or [B18] = Empty Then [B18] = Empty: [B18].Select
If .IsNumber([B21]) = False or [B21] = Empty Then [B21] = Empty: [B21].Select
If .IsNumber([B22]) = False or [B22] = Empty Then [B22] = Empty: [B22].Select
End With
Application.EnableEvents = True
End Sub
 
Son düzenleme:
Merhaba,

Kodları denedim ama sanırım olmadı. Hücreler boşken dosya kapatma engeli falan oldu ama asıl istediğim konu bu bahsettiğim hücreler boş bırakılamasın,,

Yada

b1 i girmeden b2 girilemesin ,b2 girilmeden b3 girilemesin vsvs.. en son b22

Bunu yaptırabilsekde işimi görür.

Ekte çalıştıgım dosyayı yolluyorum, Buradaki sarı hücrelerin hepsinin 0-9 arası rakamlarla girilmiş verilerle dolu olmasını istiyorum, Bir arı hücre boş kalsa uyarı versin vsvs..

Umarım anlatabilmişimdir. Bunu yapabilirsek çok memnun olurum.

Tşk
 

Ekli dosyalar

Merhaba
Keşke bunu baştan söyleseydiniz_?
 
Merhaba,

Bu seçenek yeni aklıama geldi.. Amaç şu, ekte yolladıgım dosyanın doldurulup personeller tarafından bana yollanmasını istiyorum, sarı hücrelere veri giriyorlar ama bazılarını boş bırakıp gönderiyorlar. Ben tümünü doldurmadan yollamasınlar istiyorum.

Ekteki dosyaya ilgili kodu yazabişlirseniz çok sevinirim.

Şimdiden Teşekkürler.
 
Elinize saglık ancak olmadı. Benim tam anlatamamamdanda kaynaklanıyor olabilir.

Verdginiz kodla bu hücrelerden bazılarına veri girişi yapıp bazılarına yapmayabiliyoruz.

İstediğim şej aslında çokmbasit sadece ; b1,b2,b3,b7,b9,b12,b14,b17,b18,b21,b22 hücreleri boş bırakılamasın. Bu hücrelerin hepsine bir değer yazmak zorunlu olsun..

Atladıgımız bir yer daha var buralara sadece 0 ile 9 arasında karakter girilebilsin derken tek rakamı kasdetmedim. oralara 23456 gibi rakamda girilebilsin ben karakter olarak sadece rakamsal ifadeler girilsin demiştim ama onu veri dogrulamadan yapabilrim.

Şuan için son olarak; dosya kapatılamasın kaydedilemesin gibi seçeneklerde önemli degil sadece ekteki tablodaki sarı hücrelerin hepsine veri girmek zorunlu olsunboş olmasınlar bunu istiyorum..

Tekrardan teşekkürler.
 
Üstteki kodu güncelledim.
Sadece rakam girişine izin var. Harf girdiğiniz takdirde siler.
 
b1,b2,b3,b7,b9,b12,b14,b17,b18,b21,b22 hücrelerine mutlaka veri girişi yapmak zorunlu olsun, başka bir kriter istemiyorum. Bunu excel de yapamıyor muyuz ?
 
Eğer yukardaki istegim olmuyorsa bir seçenek daha var;

b2,b3,b7,b9,b12,b14,b17,b18,b21,b22 hücrelerinin hepsine veri girmeden B1 e veri girilemesin..

Bu da işimi görür.. Aslında çok za olmasa gerek diye düşünüyorum ama bir türlü işin içinden çıkamadım.. Yardım lütfen :(
 
Yardımcı olmaya çalışan arkadaşa teşekkürler.

Çok basit bir konuyu çözemedik..
 
Geri
Üst