TARİHE GÖRE ÇİF KAYIT GİRİŞİNİ ENGELLEME

Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
ARKADAŞLAR HEPİNİZEN PEŞİN TEŞEKKÜR EDERİM HEPİNİZ HARİKA İNSANLARSINIZ.BEN KAMUYA AİT BİR KURUMDA İDARECEİ OLARAK ÇALIŞIYORUM VE SORUM VE SORUNUM ŞU BEN PERSONELİME DIŞARDAN SATIN ALDIĞIM ÖĞLE YEMEĞİNİ VERİYORUM VE BU YEMEĞİN TAKİBİNİ BU GÜNE KADAR İMZA ATTIRARAK YAPTIM ANCAK UYGULAMADA SORUNLARIM OLDU BENDE BARKODLU BİR SİSTEM ÜZERİNDE ÇALIŞMAYA BAŞLADIM FORMDAKİ ÖRNEKLERLE BİŞEYLER YAPTIM FENADA DEĞİL AMA ŞÖYLE BİR SORUNUM VAR ÇÖZEMEDİM NASIL ÇÖZERİM YARDIM BEKLİYORUM SORUN ŞU BARKOD LA PERSONELİN NUMARASINI OKUTUYORUM VE BİR TABLOYA DAHA ÖNCE KAYDETMİŞ OLDUĞUM PERSONEL BİLGİLERİNDEN BİLGİ ALIYORUM ANCAK DİYELİMKİ BİR PERSONEL 01.01.2006 TARİHİNDE SAAT 12 00 DA YEMEK YEDİ DAHA SONRA GELDİ 12.15 DE BİDAHA YEDİ BUNU NASIL ENGELLERİM YANİ AYNI TGÜN İÇİNDE BİR PERSONELİN BİR YEMEK HAKKI VAR PERSONEL KARTINI Bİ KERE OKUTTUKTAN SONRA AYNI GÜN İÇİNDE BİR DAHA BARKOD OKUTAMAMALI PROGRAM UARI VERİP KABUL ETMEMELİ KAYITSIZ PERSONELE DAVRANDIĞI GİBİ NASIL YAPABİLİRİM YARDIMLARINIZI BEKLİYORUM DOSYA EKTEDİR
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
[vb:1:503a21c44a]Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a2:a65536]) Is Nothing Then Exit Sub
If Target = 0 Then
Rows(Target.Row).ClearContents
Exit Sub
End If

SAT = [a1:a65536].Find(Target.Value).Row

If SAT > 0 And SAT <> Target.Row Then
MsgBox Cells(SAT, 2) & " " & Cells(SAT, 3) & " Adına Daha Önce Yemek Alınmış"
Target.Select
Exit Sub
End If


For a = 2 To Sheets.Count
SAT = Sheets(a).[a1:a65536].Find(Target.Value).Row
If SAT > 0 Then
For b = 2 To 7
Cells(Target.Row, b) = Sheets(a).Cells(SAT, b)
Next
Exit Sub
End If
Next
MsgBox "YEMEKHANE KAYDINIZ YOK HASTANE MÜDÜRÜNE MÜRACAAT EDİNİZ"
Target.Select
End Sub[/vb:1:503a21c44a]
 
Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
hocam ilgine teşşekkür ederim
fakat istediğim şey tam olarak şu
personel ikinci yemeği ancak tarih değitikten sonra alabilir yani 01.01.2006 pazartesi yedi o gün yemekhane giderse prg sen hakkını yedin dicek ertesi gün 02.01.2006 tarihinde gene 1 yemek hakkı olmalı burada kişi sadece 1 kez girilebiliyo tarih farklıda olsa sen yemek hakkını yedin diyor. çözmek istediğim bu
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın irayka,

Dosyanız üzerinde çalıştım, ancak şunu söyleyim Makroda henüz yeniyim,
Daha kısa bir yol bulunabilir.

Aynı tarihte yemek yediyse verdiğim mesajda saati formatlayamadım, ustalardan onu da öğrenmek isterim.

Ayrıca data dosyanızda değişiklik yaptım, sanırım orda yemek yedi ve saat ve tarih sütunları var, onlara gerek olmadığını düşündüm.
 
Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
ÜSTADIM HOCAM BENİ ANLAMIŞSINIZ İLGİNİZE ÇOK TEŞŞEKKÜR EDERİM BANA ÇOK YARDIMCI OLDUNUZ
İSTEDİĞİM BU AMA EKTE GÖNDERDİĞİM ŞEKLİNE BAKARSANIZ KÜÇÜK BİR PROBLEM VAR BEN ÇÖZEMEDİM YARDIMINIZI BEKLİYORUM
ŞÖYLEKİ
MAKİNANIZI 12.08.2006 TARİHİNE ALIN VE 8 NOLU PERSONELİ GİRİN
YEMEK HAKKI KULLANILMADIĞI HALDE KULLANILDI MESAJI VERİYOR VE PERSONEL İSMİDE MSG BOXDA FARKLI Bİ BAKARSANIZ SEVİNİRİM
 
Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
ÜSTADIM HOCAM BENİ ANLAMIŞSINIZ İLGİNİZE ÇOK TEŞŞEKKÜR EDERİM BANA ÇOK YARDIMCI OLDUNUZ
İSTEDİĞİM BU AMA EKTE GÖNDERDİĞİM ŞEKLİNE BAKARSANIZ KÜÇÜK BİR PROBLEM VAR BEN ÇÖZEMEDİM YARDIMINIZI BEKLİYORUM
ŞÖYLEKİ
MAKİNANIZI 12.08.2006 TARİHİNE ALIN VE 8 NOLU PERSONELİ GİRİN
YEMEK HAKKI KULLANILMADIĞI HALDE KULLANILDI MESAJI VERİYOR VE PERSONEL İSMİDE MSG BOXDA FARKLI Bİ BAKARSANIZ SEVİNİRİM
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn irayka

Lütfen mesajlarınızı yazarken tamamında büyük harf kullanmayınız.
 
Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
özür dilerim bilmiyordum bundan sonra daha dikkatli olurum
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Aşağıdaki kısmı şu şeklide değiştirin deneyin.
If i <> Target.Row And Target.Value = Cells(i, 1) And Cells(i, 5) = Date Then
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Evet denedim Hemşerim Sayın veyselemre, nin dediği düzeltmeyi yapınca doğru çalıştı.

Teşekkürler Sayın veyselemre,

Mesaj verirken saati de belirtmekte yarar var (öğrenmek açısından) nasıl formatlamalı?
 

Korhan Ayhan

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

Saat için aşağıdaki gibi format kullanabilirsiniz.

Kod:
MsgBox Cells(i, 2) & " " & Cells(i, 3) & " " & (Cells(i, 5) & " Tarihinde " & " Saat " & Format(Cells(i, 6), "hh:mm:ss")) & " Yemek Yedi", vbCritical, "TABLDOT BAŞKANLIĞI"
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Teşekkür ederim Sayın COST_CONTROL,

Dosyanın son halinide eklemiş olayım
 
Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
Değerli arkadaşlar az önce düşünürken aklıma geldi sisteme birde printer dahil etsem diyorum elimde kullanılmayan nokta vuruşlu bir yazıcı var , barkodu okutan personele bir fiş print etse daha ii olur diye düşündüm dolayısıyla yemek dağıtan firma görevlisi ile personel karşı karşıya gelmemiş olur ver fişi al yemeği gibi
fişe xxxx kurumu yemek fişi şeklinde bir ifade ve de kişinin adı soyadı ve tarih yazdırmak istesem nasıl yaparım . Yani barkod kartını okutan personele yazıcıdan bir fiş çıkacak (gene kontrollu olmak zorunda bir kişiye bir günde sadece bir fiş verilebilir) burada nasıl bir ifade kullanmam lazım ve print komuu nasıl verilir yada verilebilirmi?
 
Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
veyselemre, hocam teşekkür ederim bende tam bu işle uğraşıyodum eline sağlık yardımlarını esirgemiyosun ben bu kod işini çözecem hiç bilmiyodum ama yavaş yavaş anlamaya başladım. Eline sağlık örnekteki dosya çok güzel olmuş ama
benim istediğim form olmadan kişi barkod kartını okuyunca otomatik olarak fişi basması yani kullanıcıya sormamalı
Bunun nedenide şu ben bu işi şöyle senaryoladım bir barkod okuyucum var ben bunu bir kutuya koyup butonunada bir swiç ekleyip kapalı kutuda bir kart okuyucu hazırlayacam bunuda kullanılmayan bir bilgisayara bağlayacam ,personel klavyeye yada bilgisayara müdahele etmemeli, personel geldi barkod kartını benim hazırladığım kutuya soktu kart swiçi ittrdi barkodu okudu program çalıştı yemek hakkı varsa otomatik fişini yazdı sonra sıradaki personel geldi kartını kutuya(imal edeceğimkart okuyucu) soktu yemek hakkı olmadığını gördü ve yemekhaneden ayrıldı sıradaki geldi ekranda msgbox var dolayısıyla ya enter ya space tuşuna basmak gerek yada 15 snlik bir timer komutu ile msg box süreli olarak ekranda kalabilirmi bu durumda da bir sıkıntı var ama o kodla çözülebilirmi bilmiyorum yani barkod okuyucu butonuna iki kere basma şeklinde programa komut verdirilebilrmi çözülmezse klavya den paralel bir kablo space yada entere bağlı bir butonla çözerim diye düşündüm fikir verirsen sevinirim bu arada direk yazdırma işini çözersem bitime yaklaşmış olacam senide rahatsız ediyorum ama ne yapayım yeni ve acemiyim exelim fena diil ama kodlar formlar bunlarda çok acemiyim
 
Katılım
6 Şubat 2006
Mesajlar
59
Excel Vers. ve Dili
Excel 2003
teşekkür ederim elinize sağlık hocam sizden çok şey öğreniyorum
 
Üst