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..!
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
941
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
I2 Hücresine
=EĞER(C2>E2;"Hata";"")
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
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.

.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Kardeş ekteki dosya sanırım istediğin gibi. Dönüş tarihini gidiş tarihinden önce yazmana izin vermiyor...
 
Katılım
18 Temmuz 2008
Mesajlar
18
Excel Vers. ve Dili
2003
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...
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
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...
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
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:
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
makro

arkadaşlar istediğim koşula uyan makro yazmada bana yardımcı olacak yok mu_?
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
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.
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
uzman ve bu konuyu bilen arkadaşlardan cvp bekliyorum

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

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
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
 

Korhan Ayhan

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

Ekteki örnek dosyayı incelermisiniz.
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
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...
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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:
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
dosyayı eklemeyi unutmuşsunuz

Korhan Ayhan hocam çok teşekkür ederim ama dosyayı eklemeyi unutmuşsunuz. elinize sağlık.. iyi çalışmalar
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
dosyayı eklemeyi unutmuşsunuz

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