Skip to main content

AccessTr.neT


Rakamların Toplamda Yanındaki İşaretlerle Bulunması.

Rakamların Toplamda Yanındaki İşaretlerle Bulunması.

#7
Ö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
.rar Örnek_hy.rar (Dosya Boyutu: 14,6 KB | İndirme Sayısı: 0)
Cevapla
#8
(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
Cevapla
#9
Maalesef + ve * işareti aynen yazılmalı. Olmuyorsa uğraşmayın, manuel hesapla da hallederiz.
Cevapla
#10
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
Cevapla
#11
Üstat, hedefi onikiden vurmuşsunuz. Çok teşekkür ederim..
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task