• DİKKAT

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

tarihlerin farkıyla ilgili makro

Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
eklediğim dosyada gidiş tarihi, dönüş tarihi ve gün sayısı(tarihlerin farkı) var.
mantıken gidiş tarihi dönüş tarihinden sonra olamaz. ama bazen yanlışlıkla gidiş tarihi dönüş tarinden önce yazılabiliyor. bu yanlış yazmaları ortadan kaldırmak için gün sayısı eksi(-) bir değer alıyorsa mesajla uyarsın ve o sutunda yazılan gidiş, dönüş tarihlerini silsin. bu koşullara uyan makro oluşturusanız çok sevinirim. Uyarı mesajında "Tarihleri Yanlış Girdiniz, Lütfen Kontrol Ederek Yeniden Giriniz" yazsın. iyi çalışmalar..!
 
I2 Hücresine
=EĞER(C2>E2;"Hata";"")
 
eklediğim dosyada gidiş tarihi, dönüş tarihi ve gün sayısı(tarihlerin farkı) var.
mantıken gidiş tarihi dönüş tarihinden sonra olamaz. ama bazen yanlışlıkla gidiş tarihi dönüş tarinden önce yazılabiliyor. bu yanlış yazmaları ortadan kaldırmak için gün sayısı eksi(-) bir değer alıyorsa mesajla uyarsın ve o sutunda yazılan gidiş, dönüş tarihlerini silsin. bu koşullara uyan makro oluşturusanız çok sevinirim. Uyarı mesajında "Tarihleri Yanlış Girdiniz, Lütfen Kontrol Ederek Yeniden Giriniz" yazsın. iyi çalışmalar..!

Makroya gerek var mı?

Data Validation - Veri Doğrulama ile yapılmış dosya ektedir.

.
 
Kardeş ekteki dosya sanırım istediğin gibi. Dönüş tarihini gidiş tarihinden önce yazmana izin vermiyor...
 
yaş hesabını nasıl yaparız?

benzer şekilde yaş hesabı yapabilir miyiz?

Doğum tarihini ve bugünün tarihini kullanarak bir kişinin yaşını nasıl yazdırırız?

Teşekkürler...
 
ama benim programda zaten tarihler yazılması için veri doğrulama var

arkadaşlar gidiş ve dönüş tarihlerine, tarih dışında veri girilmemesi için zaten taih doğrulaması(gg.aa.yyyy) formatında var. ikinci bir doğrulama olamayacağını düşünüyorum.
örneğin ekte eklediğim dosyada tarih daha önce. makro şart gibi duruyor. cvp veren herkese teşekkürler...
 
tkabaca istediğiniz ekte

umarım işinize yarar. SADECE 2 HANELİ YAŞLAR İÇİN YAZILMIŞ BİR FONKSİYONDUR BİLGİNİZ OLSUN(99 YAŞI DAHİL). ÜÇ HANELİ YAŞLARDA HATALI HESAPLAR
 
Son düzenleme:
makro

arkadaşlar istediğim koşula uyan makro yazmada bana yardımcı olacak yok mu_?
 
Makro DÜzenleme

KOD 1
Sub Makro1()
If ("H2") < ("0") Then Range("C2,E2").Select
Range("C2,E2").Activate
Selection.ClearContents
End Sub
KOD 2
Sub Makro1()
If ("H3") < ("0") Then Range("C3,E3").Select
Range("C3,E3").Activate
Selection.ClearContents
End Sub

ARKADAŞLAR BU KODLAR ÜZERİNDE DÜZENLEME YAPILMASINI İSTİYORUM.
1. BU KODLARI VE YAZACAĞIM BENZER KOŞULLARDAKİ KODLARI NASIL BİRLEŞTİREBİLİRİM.
2. BU KODUN OTOMATİK NASIL ÇALIŞMASINI SAĞLARIM.
3. EKLEDİĞİM DOSYAYA YAZDIĞIM İKİ ŞARTI SAĞLAYAN KODU YAZARSANIZ SEVİNİRİM.
 
uzman ve bu konuyu bilen arkadaşlardan cvp bekliyorum

uzman ve bu konuyu bilen arkadaşlardan cvp bekliyorum....
 
Selamlar,

A&#351;a&#287;&#305;daki kodu sayfan&#305;n kod b&#246;l&#252;m&#252;ne uygulay&#305;p denermisiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [C2:C65536,E2:E65536]) Is Nothing Then Exit Sub
    If Target.Column = 5 And Not IsEmpty(Target) And IsDate(Target) Then
    If Cells(Target.Row, "C") > Target Then
    MsgBox "Tarihleri yanl&#305;&#351; girdiniz !" & Chr(10) & "L&#252;tfen kontrol ederek yeniden giriniz.", vbCritical, "Dikkat !"
    Cells(Target.Row, "C") = Empty
    Target = Empty
    Cells(Target.Row, "C").Select
    End If
    End If
    If Target.Column = 3 And Not IsEmpty(Target) And IsDate(Target) Then
    If Not IsEmpty(Cells(Target.Row, "E")) And Cells(Target.Row, "E") < Target Then
    MsgBox "Tarihleri yanl&#305;&#351; girdiniz !" & Chr(10) & "L&#252;tfen kontrol ederek yeniden giriniz.", vbCritical, "Dikkat !"
    Cells(Target.Row, "E") = Empty
    Target = Empty
    Cells(Target.Row, "C").Select
    End If
    End If
End Sub
 
ekteki dosyaya uygular mısınız_?

ekteki dosyaya uygulamaya çalıştım ama olmadı. ben beceremedim herhalde dosyaya uygularsanız çok sevinirim. iyi çalışmalar korhan ayhan hocam
 
Selamlar,

Ekteki örnek dosyayı incelermisiniz.
 
teşekkürler

sayın hocam çok teşekkür ederim. ii çalışmalar...
herkese kolay gelsin. iyi ki böyle bir forum kurulmuş.
Saygılar...
 
kodu yazıyorum ama çalıştıramıyorum

arkadaşlar Korhan Ayhan hocamın yazdığı kodu ekteki dosyada 1 den 30 a kadar olan sayfalara yazıyorum ama çalıştıramıyorum. benim sayfa yapıma göre renklendirdiğim yerlerin değiştirmem yeterli değil mi_? arkdaşlar bu kodu 1 ile 30'uncu sayfalara uyarlarsanız ve neden çalışmadığını benimle paylaşırsanız sevinirim.

kod;

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C2:C65536,E2:E65536]) Is Nothing Then Exit Sub
If Target.Column = 5 And Not IsEmpty(Target) And IsDate(Target) Then
If Cells(Target.Row, "C") > Target Then
MsgBox "Tarihleri yanlış girdiniz !" & Chr(10) & "Lütfen kontrol ederek yeniden giriniz.", vbCritical, "Dikkat !"
Cells(Target.Row, "C") = Empty
Target = Empty
Cells(Target.Row, "C").Select
End If
End If
If Target.Column = 3 And Not IsEmpty(Target) And IsDate(Target) Then
If Not IsEmpty(Cells(Target.Row, "E")) And Cells(Target.Row, "E") < Target Then
MsgBox "Tarihleri yanlış girdiniz !" & Chr(10) & "Lütfen kontrol ederek yeniden giriniz.", vbCritical, "Dikkat !"
Cells(Target.Row, "E") = Empty
Target = Empty
Cells(Target.Row, "C").Select
End If
End If
End Sub
 
Son düzenleme:
Selamlar,

Çalışmaması gayet doğal. Sebebi ise ilk gönderdiğiniz dosya ile son gönderdiğiniz dosyadaki tarih yazılan sütunlar farklı. Ayrıca eğer 30 sayfada da kodu çalıştırmak istiyorum diye belirtseydiniz ona göre kod önerebilirdik. Bu tür çalışmalarda aynı yapıda olan her sayfaya ayrı kod yazmak yerine ThisWorkbook bölümüne yazılacak mantıklı bir kodlama ile sorunu aşabilirsiniz. Ekte dosyanızda gerekli düzenlemeyi yaptım incelermisiniz.

ThisWorkbook bölümüne ulaşmak için;

ALT+F11 tuşlarıa basın. Açılan pencerede sol üst köşede kitabınıza ait sayfaları göreceksiniz. Bu bölümden ilgili sayfaya ulaşabilirsiniz.
 
Son düzenleme:
dosyayı eklemeyi unutmuşsunuz

Korhan Ayhan hocam çok teşekkür ederim ama dosyayı eklemeyi unutmuşsunuz. elinize sağlık.. iyi çalışmalar
 
dosyayı eklemeyi unutmuşsunuz

sayın Korhan Ayhan hocam anlaşılan sorunu çözmüşsünüz ama dosyayı eklemeyi unutmuşsunuz
 
Geri
Üst