polis-53
Altın Üye
- Katılım
- 26 Aralık 2008
- Mesajlar
- 1,118
- Excel Vers. ve Dili
- EXCEL 2016 TÜRKÇE
- Altın Üyelik Bitiş Tarihi
- 23-02-2025
Merhba arkadaşlar ekteki kod exceli çok aşırıkasıyor sorun nerede.
Kod:
Function DÜŞEYARA_AYRAC(Aranan_Deger As Variant, Bakilan_Aralik As Range, Getirilecek_Aralik As Range, ayrac As Variant) As String
Dim sonuc As String
Dim sonuc_Gecici As String
Dim satir As Long
Dim sutun As Long
Const bslAyrac = "|||"
sonuc = bslAyrac
For satir = 1 To Bakilan_Aralik.Rows.Count
For sutun = 1 To Bakilan_Aralik.Columns.Count
If Bakilan_Aralik.Cells(satir, sutun).Value Like "*" & Aranan_Deger & "*" Then
sonuc_Gecici = Getirilecek_Aralik.Offset(satir - 1, sutun - 1).Cells(1, 1).Value
If InStr(1, sonuc, bslAyrac & sonuc_Gecici & bslAyrac) = 0 Then
sonuc = sonuc & sonuc_Gecici & bslAyrac
End If
Next
sonuc = Replace(sonuc, bslAyrac, ayrac)
If Left(sonuc, 1) = ayrac Then sonuc = Mid(sonuc, 2)
If Right(sonuc, 1) = ayrac Then sonuc = Left(sonuc, Len(sonuc) - 1)
If Len(sonuc) > 0 Then DÜŞEYARA_AYRAC = sonuc Else DÜŞEYARA_AYRAC = “BULUNAMADI”
End Function