• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

A sutunudaki metinlerde sayıları toplamak

Katılım
17 Mayıs 2006
Mesajlar
73
Selamlar;

A sutunuda
A1 2121gdd
A2 1asatrr
A3 862ada

sonuç=8

gibi sayıların toplamını makro ile
bulmak istiyorum
 
a sutunundaki tum sayilarin mi yoksa a1 in ayri a2 nin ayri filan mi
 
her satir icin su ktf`yi kullaniniz..

Function tele_cevir(deg As String) As Double
Dim tel As Double, i As Integer, deg2 As String
For i = 1 To Len(deg)
deg2 = Mid(deg, i, 1)
If IsNumeric(deg2) Then tel = tel & deg2
Next
tele_cevir = tel
End Function
 
Selam
Sayın Mustafaine
yanlış ifade ettim toplatmak değil saydırmak
ama A sutununda her bir sayıyı
mesela
A1 2121gdd
A2 1asatrr
A3 862ada

sonuç=8 gibi
 
Selam

örnek makro

Kod:
Sub Sayma()
For a = 1 To 10
For b = 1 To Len(Cells(a, 1))
c = WorksheetFunction.Count(Mid(Cells(a, 1), b, 1))
Say = Say + c
Next b
Next a
MsgBox Say
End Sub
 
Selamlar

Dizi Formül ile yapılışı
ama sistemi çok fazla yavaşlatıyor

Kod:
=BAĞ_DEĞ_SAY(1*PARÇAAL(DEVRİK_DÖNÜŞÜM(A1:A10);SATIR(1:65536);1))
 
Selamlar,

Alternatif olarak Ali beyin bizlere kazandırdığı güzel fonksiyonu kullanabilirsiniz.

Kod:
=TOPLA.ÇARPIM((UZUNLUK($A$1:$A$100)-UZUNLUK(YERİNEKOY(KÜÇÜKHARF($A$1:$A$100);KÜÇÜKHARF({0;1;2;3;4;5;6;7;8;9});"")))/MAK(1;UZUNLUK({0;1;2;3;4;5;6;7;8;9})))
 
Selamlar
Teşekkürler Sayın Korhan Ayhan

Makro olarak
Kod:
Option Base 1
Sub sayma_2()
Dim a As Byte, b As Byte, c As Byte, say As Byte, dizi
dizi = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
For a = 1 To 200
For b = 1 To 10
c = Len(Cells(a, 1)) - Len(WorksheetFunction.Substitute(Cells(a, 1), dizi(b), ""))
say = say + c
Next b
Next a
MsgBox say
End Sub
 
Geri
Üst