AccessTr.neT

Tam Versiyon: Rakamların Toplamda Yanındaki İşaretlerle Bulunması.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Öncelikle belirtmeliyim ki 2003 sonrası Excel versiyonları için çalışmanızı makro içerebilen Excel kitabına çevirmelisiniz yani dosya uzantınız .xlsm olmali yada doğrudan eski formatta kaydetmelisiniz
Sonra çalışmanıza bir modül ekleyip aşağıdaki kodları eklemelisiniz
Kod:
Function KompleksTopla(Hucre As Range) As String

Dim Hcr As Range
Dim Karmasik
    For Each Hcr In Hucre.Cells
        Hcr2 = CStr(Replace(Hcr, "*", "j"))
        Karmasik = WorksheetFunction.ImSum(Karmasik, Hcr2)
    Next Hcr
KompleksTopla = Replace(Karmasik, "j", IIf(WorksheetFunction.Imaginary(Karmasik) = 1, "1*", "*"))
End Function
Sonra da mesela B12 hücresine gidip aşağıdaki kodu ekleyin
Kod:
=KompleksTopla(B2:B11)
Hücreyi sağa doğru sürüklerseniz diğer hücrelere de kopyalanır
Dilerim işinize yarar Iyi çalışmalar[attachment=30872]
(23/11/2019, 13:26)hturkavci03 yazdı: [ -> ]olabilirse F sütununa da B ve D sütunlarının farkını almak isterim.
Çıkarma işlemi içinse yine modüle en alttaki kod bloğunu ekleyip mesela F2 hucresine
=KompleksCikar(B2;D2)
yazmalısınız. Yine aşağı doğru sürükleyerek kopyalayabilirsiniz.
Function KompleksCikar(Hucre As Range, Hucre1 As Range) As String

Dim Hcr, Hcr1 As String

Hcr = CStr(Replace(Hucre, "*", "j"))
Hcr1 = CStr(Replace(Hucre1, "*", "j"))
Karmasik = WorksheetFunction.ImSub(Hcr, Hcr1)
KompleksCikar = Replace(Karmasik, "j", IIf(WorksheetFunction.Imaginary(Karmasik) = 1, "1*", "*"))
End Function

Önemli Not:yalniz dikkat etmeniz gereken nokta toplama fonksiyonunda aralık alındığı için ":" - 2  nokta üst üste - kullanılırken çıkarmada sadece 2 hücre olduğundan ";" -noktali virgul- kullanmalisiniz
Maalesef + ve * işareti aynen yazılmalı. Olmuyorsa uğraşmayın, manuel hesapla da hallederiz.
Son 2 mesajımdaki kodlar (7. ve 8. mesajlarda) ve ekteki (7. mesajdaki) çalışma zaten alanlarda * olduğu durumlar için. Yani alanları degistirmenize gerek yok
Modüle eklenen kodlar çeviri işlemini yapiyor
Üstat, hedefi onikiden vurmuşsunuz. Çok teşekkür ederim..
Sayfalar: 1 2