Şimdi Ara

Formülü makroya dönüştürme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4
Cevap
0
Favori
345
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • EĞER(I328=I$472;EĞER(I$472=0;"";$metneçevir(B328;0)&DAMGA(10));"")&EĞER(I329=I$472;EĞER(I$472=0;"";$metneçevir(B329;0)&DAMGA(10));"")&EĞER(I330=I$472;EĞER(I$472=0;"";$metneçevir(B330;0)&DAMGA(10));"")&EĞER(I331=I$472;EĞER(I$472=0;"";$metneçevir(B331;0)&DAMGA(10));"")

    Bu formülü makroya dönüştürmek istiyorum. Yardımcı olabilirseniz çok memnun olurum.



  • daha kısa da olabilirdi ama anlaşılır olması için birebir dönüştürdüm.

    Function fonksiyon1(i472 As Range, i328 As Range, b328 As Range) As String
    Application.Volatile
    '=EĞER(I328=I$472;EĞER(I$472=0;"";METNEÇEVİR(B328;0)&DAMGA(10));"")
    If i328.Value = i472.Value Then
    If i472.Value = 0 Then
    m1 = ""
    Else
    m1 = Trim(b328.Value) & vbCrLf
    End If
    Else
    m1 = ""
    End If

    i329 = i328.Offset(1).Value
    b329 = b328.Offset(1).Value
    '&EĞER(I329=I$472;EĞER(I$472=0;"";METNEÇEVİR(B329;0)&DAMGA(10));"")
    If i329 = i472 Then
    If i472 = 0 Then
    m2 = ""
    Else
    m2 = Trim(b329) & vbCrLf
    End If
    Else
    m2 = ""
    End If

    i330 = i328.Offset(2).Value
    b330 = b328.Offset(2).Value
    '&EĞER(I330=I$472;EĞER(I$472=0;"";METNEÇEVİR(B330;0)&DAMGA(10));"")
    If i330 = i472 Then
    If i472 = 0 Then
    m3 = ""
    Else
    m3 = Trim(b330) & vbCrLf
    End If
    Else
    m3 = ""
    End If

    i331 = i328.Offset(3).Value
    b331 = b328.Offset(3).Value
    '&EĞER(I331=I$472;EĞER(I$472=0;"";METNEÇEVİR(B331;0)&DAMGA(10));"")
    If i331 = i472 Then
    If i472 = 0 Then
    m4 = ""
    Else
    m4 = Trim(b331) & vbCrLf
    End If
    Else
    m4 = ""
    End If
    fonksiyon1 = m1 & m2 & m3 & m4
    End Function



    < Bu mesaj bu kişi tarafından değiştirildi akcan -- 13 Kasım 2019; 21:57:51 >




  • daha kısa kod
    Function fonksiyon2(i472 As Range, i328 As Range, b328 As Range) As String
    Application.Volatile
    If i472 <> 0 Then
    If i328 = i472 Then m1 = Trim(b328) & vbCrLf

    i329 = i328.Offset(1)
    b329 = b328.Offset(1)
    If i329 = i472 Then m2 = Trim(b329) & vbCrLf

    i330 = i328.Offset(2)
    b330 = b328.Offset(2)
    If i330 = i472 Then m3 = Trim(b330) & vbCrLf

    i331 = i328.Offset(3)
    b331 = b328.Offset(3)
    If i331 = i472 Then m4 = Trim(b331)
    End If
    fonksiyon2 = m1 & m2 & m3 & m4
    End Function



    < Bu mesaj bu kişi tarafından değiştirildi akcan -- 13 Kasım 2019; 21:58:15 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.