Soru Şarta Bağlı Tarih/Saat Bilgisi Alma Hakkında.

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
957
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
14-02-2026
Merhabalar,

1- Çalışma verilerimi form aracılığı ile kaydediyorum. ( hasta takip için oluşturmaya çalıştığım çalışma için)

2- İlk hasta kayıt olduğunda;

2.1 -"O" sütunda ilgili hasta için YOK değeri veriliyor, Hasta ödeme yaptığında bu değer EFT olarak güncelleniyor.
2.2 - "P" sütunda ilgili hasta için NKB değeri veriliyor, Hasta numunesi laboratuvara girdiğinde ise NKB değeri LAB olarak , Hasta numunesinin raporu çıktığında ise LAB değeri RAPORLANDI olarak güncelleniyor.
2.3 - "R" sütunda ilgili hasta için GÖNDERİLMEDİ değeri veriliyor, Hastaya ait rapor mail olarak gönderildiğinde de bu değer GÖNDERİLDİ olarak güncelleniyor.


Amacım hasta numunesinin durumunu takip etmek aslında. Bir nevi kargo takip durum bilgisi gibi bende numunenin durumunu ve zaman bilgisini görmek istiyorum. Bu amaçla "Y:AC" kolonlarına açıklamalarını yapmış olduğum şarta bağlı olarak ilgili satırlara tarih/saat bilgilerini almak istiyorum. Daha sonrasında da elde ettiğim bu tarih/zaman bilgilerine göre durum bilgi formu oluşturmaya çalışacağım.

Yada numunenin hangi tarih/zamanda kayıt edildiği, laboratuvara ne zaman girdiği, ne zaman raporlanıp yollandığı bilgilerini başka nasıl bir yol ile yapabilirim?
 

Ekli dosyalar

volki_112

Altın Üye
Katılım
29 Eylül 2023
Mesajlar
639
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
13-12-2029
Merhabalar,

1- Çalışma verilerimi form aracılığı ile kaydediyorum. ( hasta takip için oluşturmaya çalıştığım çalışma için)

2- İlk hasta kayıt olduğunda;

2.1 -"O" sütunda ilgili hasta için YOK değeri veriliyor, Hasta ödeme yaptığında bu değer EFT olarak güncelleniyor.
2.2 - "P" sütunda ilgili hasta için NKB değeri veriliyor, Hasta numunesi laboratuvara girdiğinde ise NKB değeri LAB olarak , Hasta numunesinin raporu çıktığında ise LAB değeri RAPORLANDI olarak güncelleniyor.
2.3 - "R" sütunda ilgili hasta için GÖNDERİLMEDİ değeri veriliyor, Hastaya ait rapor mail olarak gönderildiğinde de bu değer GÖNDERİLDİ olarak güncelleniyor.


Amacım hasta numunesinin durumunu takip etmek aslında. Bir nevi kargo takip durum bilgisi gibi bende numunenin durumunu ve zaman bilgisini görmek istiyorum. Bu amaçla "Y:AC" kolonlarına açıklamalarını yapmış olduğum şarta bağlı olarak ilgili satırlara tarih/saat bilgilerini almak istiyorum. Daha sonrasında da elde ettiğim bu tarih/zaman bilgilerine göre durum bilgi formu oluşturmaya çalışacağım.

Yada numunenin hangi tarih/zamanda kayıt edildiği, laboratuvara ne zaman girdiği, ne zaman raporlanıp yollandığı bilgilerini başka nasıl bir yol ile yapabilirim?
istediğiniz kodu sayfanın ko bölümüne yazdım. dosyanızı ekten indirebilirsiniz. Kullanılan kodu da bırakıyorum buraya.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim DegisenSatir As Long
    Dim HedefHucre As Range

    ' Eğer birden fazla hücre aynı anda değiştirildiyse veya
    ' değişiklik başlık satırlarından (örneğin ilk 2 satır) birindeyse çık
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Target.Row < 3 Then Exit Sub ' Verilerinizin 3. satırdan başladığını varsayıyorum, gerekirse bu sayıyı değiştirin

    DegisenSatir = Target.Row

    On Error GoTo SafeExit ' Hata olursa olayları tekrar aktif et
    Application.EnableEvents = False ' Kodun kendisini tekrar tetiklemesini engellemek için

    ' Sütun O (Ödeme Bilgisi) kontrolü
    If Not Intersect(Target, Me.Columns("O")) Is Nothing Then ' Değişiklik O sütununda mı?
        If UCase(CStr(Target.Value)) = "EFT" Then
            Set HedefHucre = Me.Cells(DegisenSatir, "Y") ' Y sütununa yaz
            ' Eğer Y sütununda zaten bir değer varsa ve boş değilse sorma, üzerine yaz
            ' Ya da sormak isterseniz: If IsEmpty(HedefHucre.Value) Or MsgBox(...) = vbYes Then
            HedefHucre.Value = Now ' O anki tarih ve saati yaz
            HedefHucre.NumberFormat = "dd.mm.yyyy hh:mm:ss" ' İsteğe bağlı: Tarih/saat formatı
        End If
    End If

    ' Sütun P (Analiz Durumu) kontrolü
    If Not Intersect(Target, Me.Columns("P")) Is Nothing Then ' Değişiklik P sütununda mı?
        Select Case UCase(CStr(Target.Value))
            Case "NKB"
                Set HedefHucre = Me.Cells(DegisenSatir, "Z") ' Z sütununa yaz
            Case "LAB"
                Set HedefHucre = Me.Cells(DegisenSatir, "AA") ' AA sütununa yaz
            Case "RAPORLANDI"
                Set HedefHucre = Me.Cells(DegisenSatir, "AB") ' AB sütununa yaz
            Case Else
                Set HedefHucre = Nothing ' Diğer durumlar için bir şey yapma
        End Select

        If Not HedefHucre Is Nothing Then
            HedefHucre.Value = Now
            HedefHucre.NumberFormat = "dd.mm.yyyy hh:mm:ss"
        End If
    End If

    ' Sütun R (Rapor Durumu) kontrolü
    If Not Intersect(Target, Me.Columns("R")) Is Nothing Then ' Değişiklik R sütununda mı?
        If UCase(CStr(Target.Value)) = "GÖNDERİLDİ" Then
            Set HedefHucre = Me.Cells(DegisenSatir, "AC") ' AC sütununa yaz
            HedefHucre.Value = Now
            HedefHucre.NumberFormat = "dd.mm.yyyy hh:mm:ss"
        End If
    End If

SafeExit:
    Application.EnableEvents = True ' Olayları tekrar aktif et
    If Err.Number <> 0 Then
        MsgBox "Bir hata oluştu: " & Err.Description, vbCritical, "Makro Hatası"
        Err.Clear
    End If
End Sub
 

Ekli dosyalar

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
957
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
14-02-2026
Sayın volki_112,
Öncelikle ilginiz için çok teşekkür ederim. Emeğinize sağlık istediğim şekilde olmuş görünüyor. Orijinal dosyam üzerinde deneyeceğim akşam ve umarım eksik düşündüğüm bir nokta olmamıştır. Çok teşekkür eder , saygılarımı sunarım.
 
Üst