Belirlenen Hücre Aralığındaki Dolu Hücrelerin İçeriğini Bulsun ve Yazsın

Katılım
9 Şubat 2008
Mesajlar
21
Excel Vers. ve Dili
Excell 2003 İngilizce
Arkadaşlar yapmak istediğim şey şu. AE50:AL50 arasındaki hücrelerde A ya da B ya da C ya da D ya da E harfleri yazabilir. Benim K8 hücresine yazacağım formül AE50:AL50 arasında hangi hücrede bu saydığım harflerden biri varsa bunu bulması. Fakat AE50:AL50 arasında diyelim ki AE50 boş AF50 hücresinde E harfi yazıyor, AG50 boş, AH50 boş, AI50 boş, AJ50 boş, AK50 boş, AL50 hücresinde de C harfi yazıyor. O zaman K8 hücresinde E-C yazsın eğer AE50:AL50 arasındaki tüm hücrelerde A,B,C,D,E harfleri var ise o zaman K8 hücresine A-B-C-D-E yazsın. Yardım edecek arkaşalara şimdiden çok teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,232
Excel Vers. ve Dili
Ofis 365 Türkçe
Okurken başım döndü :)
 

Korhan Ayhan

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

İstediğiniz işlemi kullanıcı tanımlı fonksiyon ile rahatlıkla yapabilirsiniz. Aşağıdaki kodu boş bir modüle uygulayın.

Fonksiyonun kullanım şekli;

=BUL_YAZ(Hücre Aralığı)


Kod:
Option Explicit
 
Function BUL_YAZ(ARALIK As Range)
    Dim HÜCRE As Range, SONUÇ As String
    
    Application.Volatile
    
    For Each HÜCRE In ARALIK
        If UCase(HÜCRE.Value) = "A" Or _
        UCase(HÜCRE.Value) = "B" Or _
        UCase(HÜCRE.Value) = "C" Or _
        UCase(HÜCRE.Value) = "D" Or _
        UCase(HÜCRE.Value) = "E" Then
        SONUÇ = IIf(SONUÇ = Empty, HÜCRE.Value, SONUÇ & "-" & HÜCRE.Value)
        End If
    Next
    
    BUL_YAZ = SONUÇ
End Function
 
Katılım
9 Şubat 2008
Mesajlar
21
Excel Vers. ve Dili
Excell 2003 İngilizce
Fonksiyonu ve kodları ingilizce olarak derleyebilirseniz çok daha iyi olur.
 

Korhan Ayhan

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

Neden böyle bir istekte bulundunuz. Fonksiyonu denediniz mi? Çalışmadı mı?
 
Katılım
9 Şubat 2008
Mesajlar
21
Excel Vers. ve Dili
Excell 2003 İngilizce
Korhan Hocam Excel 2003 ingilizce olduğu için fonksiyon NAME hatası veriyor.
 

Korhan Ayhan

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

Fonksiyonun çalışmaması için bir sebep görünmüyor. Fonksiyonu uyguladığınız dosyayı kaydedip öyle deneyin.
 

Korhan Ayhan

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

Fonksiyonu aşağıdaki şekilde değiştirip denermisiniz. Sadace türkçe karakterleri kaldırdım.

Kod:
Option Explicit
 
Function BUL_YAZ(ARALIK As Range)
    Dim HUCRE As Range, SONUC As String
    
    Application.Volatile
    
    For Each HUCRE In ARALIK
        If UCase(HUCRE.Value) = "A" Or _
        UCase(HUCRE.Value) = "B" Or _
        UCase(HUCRE.Value) = "C" Or _
        UCase(HUCRE.Value) = "D" Or _
        UCase(HUCRE.Value) = "E" Then
        SONUC = IIf(SONUC = Empty, HUCRE.Value, SONUC & "-" & HUCRE.Value)
        End If
    Next
    
    BUL_YAZ = SONUC
End Function
 
Üst