Skip to main content

AccessTr.neT


Excel mükerrer kayıt engelleme

Excel mükerrer kayıt engelleme

#7
Teşekkürler. 26 Aralık 2016 tarihinde sabah vaktine aynı kişiyi tekrar girmemem gerekiyor ama öğle vaktine yazabilmeliyim. Aynı kişiye aynı tarihte ve vakitte iki yerde çalışamayacağından tek yazılması gerekiyor. Öğle ve akşam vakitlerine yine birkere yazabilirim. Dolayısı ile Vba koduyla oynayarak bu işi çözebilirim. Her şey için teşekkür ederim. Elinize sağlık. yalnız E2:E5, H1:H5, K1:K5, N1:N5, Q1:Q5, T1:T5 VE W1:W5 dışındaki hücrelerde veriler aynı olabilir.
Son Düzenleme: 02/12/2016, 16:44, Düzenleyen: macirercan.
Cevapla
#8
sayın macirercan,

öncelikle,bilgilendirme amaçlı bir hatırlatmada bulunmakta fayda var kanısındayım.

Site Kuralları sayfasında yazılı hususları tekrar okumanızı temenni etmekle birlikte,lütfen,
yapmak istediğiniz işlemleri sonraki ilerleyen mesajlarınızda değil ilk mesaj içeriğinde daha net ve ayrıntılı olarak yazmanız daha yerinde ve uygun olacaktır.

böylece,konunuzda bu bilgileri edinmek üzere katılımcılar ile yazılan soru / cevap durumlarını de engellemiş olursunuz.

son olarak;
elbette ki,daha pratik çözüm şekli mevcuttur fakat şimdilik olmak üzere,

EK'te;
bahsettiğiniz talebinize yönelik olarak hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

bilginize...iyi çalışmalar,saygılar.
.rar MukerrerKayit-ATOZ3.rar (Dosya Boyutu: 16,15 KB | İndirme Sayısı: 15)
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#9
Sayın atoz112,
İlginiz için çok teşekkür ederim. Sanırım bu proje Vba ile çözülecek. Yalnız E2:E5, H1:H5, K1:K5, N1:N5, Q1:Q5, T1:T5 VE W1:W5 hücrelerindeki veriler birbriyle aynı olmayacak bunun dışındakiler hücrelerde veriler aynı olabilir.
Cevapla
#10
Sayın atoz112 merhaba: Gönderdiğin çalışmalardaki Vba kodlarına belirli aralıkları nasıl eklerim.

Private Sub Worksheet_Change(ByVal Target As Range)
'ATOZ112
'AŞAĞIDAKİ KODLAR DAHİL EDİLMİŞTİR.

   Dim ws As Worksheet, EvalRange As Range

   Set EvalRange = Range("E1:E5") burada e1 ile e5 aralığına H1 ve H2 gibi.... aralıklar nasıl ilave edebilirim.
       
     
   If Intersect(Target, EvalRange) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
   If IsEmpty(Target) Then Exit Sub

   If WorksheetFunction.CountIf(EvalRange, Target.Value) > 1 Then
       MsgBox Target.Value & " ifadesi daha önceden yazılmıştır. Lütfen, yeni değer yazınız! "
       Application.EnableEvents = False
       Application.Undo
       Application.EnableEvents = True
   End If
   
   For Each ws In Worksheets
       With ws
           If .Name <> Target.Parent.Name Then
               If WorksheetFunction.CountIf(Sheets(.Name).Range("E1:E5"), Target.Value) > 0 Then
                   MsgBox Target.Value & " ifadesi daha önceden yazılmıştır. " & .Name & ".", _
                   16, "Lütfen,yeni değer yazınız. " & EvalRange.Address(0, 0) & "."
                   Application.EnableEvents = False
                   Application.Undo
                   Application.EnableEvents = True
                   Exit For
               End If
           End If
       End With



Set EvalRange = Range("E1:E5") burada e1 ile e5 aralığına H1 ve H2 gibi.... aralıklar nasıl ilave edebilirim. Yani çoklu aralıklar ilave edebilirsem bu iç çözülecek. Yardımların için teşekkürler.
Cevapla
#11
Set EvalRange = Range("E1:E5, H1:H2")

yada

Set EvalRange = Union(Range("E1:E5"), Range("H1:H2"))
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task