Excelde açıklama içindeki veriyi hücreye yazdırmak

sırakaya

Altın Üye
Katılım
12 Ekim 2015
Mesajlar
55
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
22-04-2026
Merhabalar
Örnek tabloya benze yaklaşık 2000 satırlık bir dosyam var ve ödeme tarihlerini açıklama içine eklemişler, ben bunu açıklama içinden yan hücreye yazdırmak istiyorum. Şimdiden yardımlarınız için teşekkür ederim.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Bütün açıklamalar bu şekilde mi? İçinde tarih olmayan başka açıklamalar da var mı?
Eğer hepsi bu şekildeyse aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub kod()
s = Cells(Rows.Count, "B").End(3).Row
For Each hcr In Range("B2:B" & s).SpecialCells(xlCellTypeComments)
    hcr.Offset(0, 1).Value = CDate(Split(hcr.Comment.Text, vbLf)(1))
Next
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bir ktf yaptım.
C2 ye yazın aşağı doğru çoğaltın.
Örnek: =tutar(B2)

Function tutar(ByRef hucre As Range)
aciklama = hucre.Comment.Text
tutar = aciklama
End Function
 

sırakaya

Altın Üye
Katılım
12 Ekim 2015
Mesajlar
55
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
22-04-2026
Merhaba,
Bütün açıklamalar bu şekilde mi? İçinde tarih olmayan başka açıklamalar da var mı?
Eğer hepsi bu şekildeyse aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub kod()
s = Cells(Rows.Count, "B").End(3).Row
For Each hcr In Range("B2:B" & s).SpecialCells(xlCellTypeComments)
    hcr.Offset(0, 1).Value = CDate(Split(hcr.Comment.Text, vbLf)(1))
Next
End Sub
Ömer bey içinde tarihten sonra gelen bazı açıklamalarda mevcut
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Kodu denediniz mi?
Eğer hata verdiyse örnek dosyanızı farklı açıklamaları da içerecek şekilde günceller misiniz?
 

sırakaya

Altın Üye
Katılım
12 Ekim 2015
Mesajlar
55
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
22-04-2026
Sevgili Orion yardımınız için teşekkür ederim, ben örneklendirmeyi eksik yaptım o yüzden de sanırım sıkıntı yaşıyorum. Gönderdiğiniz ekte uygulayınca çalışıyor fakat ana tabloda problem yaşıyorum. Daha kapsamlı eki gönderiyorum.
 

sırakaya

Altın Üye
Katılım
12 Ekim 2015
Mesajlar
55
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
22-04-2026
Kodu denediniz mi?
Eğer hata verdiyse örnek dosyanızı farklı açıklamaları da içerecek şekilde günceller misiniz?
Ömer bey teşekkür ediyorum uğraştırıyorum sizleri ,yüklemiş olduğum ekte sıkıntı yok çalışıyor fakat ana tablomda çalışmadı.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Aşağıdaki kodu deneyiniz...
Kod:
Sub kod()
s = Cells(Rows.Count, "B").End(3).Row
For Each hcr In Range("B2:B" & s).SpecialCells(xlCellTypeComments)
    hcr.Offset(0, 1).Value = Ayikla(hcr.Comment.Text)
Next
End Sub
Private Function Ayikla(met)
    Dim re, deg
    Set re = CreateObject("vbscript.regexp")
    re.Pattern = "[\d]+[/.][\d]+[/.][\d]+"
    re.Global = True

    For Each deg In re.Execute(met)
        If IsDate(deg.Value) Then
            Ayikla = CDate(deg.Value)
            Exit For
        End If
    Next
    Set re = Nothing
End Function
 
Son düzenleme:

sırakaya

Altın Üye
Katılım
12 Ekim 2015
Mesajlar
55
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
22-04-2026
Ben örneklendirme de eksik kaldım sizleri de uğraştırdım hakkınızı helal edin, teslim aldığım tablo bu şekilde ve ben en son senedin kapandığı tarihlere göre bir liste oluşturacağım, açıklamalarda bu tarihler karışık yazdığı içinde icmale dökemedim. açıklamaları hücrelere ekleyerek oradan son ödenen tarihleri belirleyip bir özet çıkarma çabasındayım.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Benim yazdığım fonksiyonu dosyanızda vbe de standart bir modüle yazarsanız,çalışacaktır.
 

sırakaya

Altın Üye
Katılım
12 Ekim 2015
Mesajlar
55
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
22-04-2026
Aşağıdaki kodu deneyiniz...
Kod:
Sub kod()
s = Cells(Rows.Count, "B").End(3).Row
For Each hcr In Range("B2:B" & s).SpecialCells(xlCellTypeComments)
    hcr.Offset(0, 1).Value = Ayikla(hcr.Comment.Text)
Next
End Sub
Private Function Ayikla(met)
    Dim re, deg
    Set re = CreateObject("vbscript.regexp")
    re.Pattern = "[\d]+[/.][\d]+[/.][\d]+"
    re.Global = True

    For Each deg In re.Execute(met)
        If IsDate(deg.Value) Then
            Ayikla = CDate(deg.Value)
            Exit For
        End If
    Next
    Set re = Nothing
End Function
Ömer Bey yardımınız için çok teşekkür ederim, tam istediğim gibi vermiş olduğunuz kod işime yaradı. Zaman ayırdığınız için teşekkürler.
 
Üst