[]
Excelde bir makro ?
Merhaba arkadaşlar,
Elimde şöyle bir tablo var diyelim:
isim miktar döviz cinsi
ahmet 5000 TL
osman 10000 EUR
hıdır 6000 USD
mahmut 85000 TL
ayşe 1000 CAD
fatma 126000 JPY
Benim istediğim makro bu tabloda kaç farklı döviz cinsi varsa bunu saymalı ( çünkü elimde 15-20 farklı cins olacak )ve her döviz cinsinden toplam ne kadar var yazmalı.
Etopla formulü döviz cinsini yazarsam çalışıyor ama bana makro kaç farklı cins var otomatikman anlaması lazım.
Şimdiden teşekkürler :)
Elimde şöyle bir tablo var diyelim:
isim miktar döviz cinsi
ahmet 5000 TL
osman 10000 EUR
hıdır 6000 USD
mahmut 85000 TL
ayşe 1000 CAD
fatma 126000 JPY
Benim istediğim makro bu tabloda kaç farklı döviz cinsi varsa bunu saymalı ( çünkü elimde 15-20 farklı cins olacak )ve her döviz cinsinden toplam ne kadar var yazmalı.
Etopla formulü döviz cinsini yazarsam çalışıyor ama bana makro kaç farklı cins var otomatikman anlaması lazım.
Şimdiden teşekkürler :)
Şöyle bir kod işini görür herhalde.
Dim p() As String
Dim Isim(50) As String
Dim Miktar(50) As Double
Dim Tur(50) As String
Dim Y(20) As String
Dim X(20) As Double
Sub asd()
SATIR = 7 ' 7 YERİNE KAÇ SATIR VARSA O SAYI YAZILACAK
For i = 1 To SATIR
p = Split(Cells(i, 1), " ", 4)
Isim(i) = p(0) 'GEREKTİĞİNDE İSİME GÖRE DE LİSTELEME YAPILABİLMESİ İÇİN KULLANILABİLİR
Miktar(i) = p(1)
Tur(i) = p(2)
Next i
Erase X
j = 0
For i = 1 To SATIR
If Tur(i) <> "" Then
Y(j) = Tur(i)
X(j) = X(j) + Miktar(i)
For k = i + 1 To SATIR
If Y(j) = Tur(k) Then
X(j) = X(j) + Miktar(k)
Tur(k) = ""
End If
Next k
j = j + 1
End If
Next i
For s = 0 To j - 1
Cells(s + 1, 5) = Y(s)
Cells(s + 1, 6) = X(s)
Next s
End Sub
Dim p() As String
Dim Isim(50) As String
Dim Miktar(50) As Double
Dim Tur(50) As String
Dim Y(20) As String
Dim X(20) As Double
Sub asd()
SATIR = 7 ' 7 YERİNE KAÇ SATIR VARSA O SAYI YAZILACAK
For i = 1 To SATIR
p = Split(Cells(i, 1), " ", 4)
Isim(i) = p(0) 'GEREKTİĞİNDE İSİME GÖRE DE LİSTELEME YAPILABİLMESİ İÇİN KULLANILABİLİR
Miktar(i) = p(1)
Tur(i) = p(2)
Next i
Erase X
j = 0
For i = 1 To SATIR
If Tur(i) <> "" Then
Y(j) = Tur(i)
X(j) = X(j) + Miktar(i)
For k = i + 1 To SATIR
If Y(j) = Tur(k) Then
X(j) = X(j) + Miktar(k)
Tur(k) = ""
End If
Next k
j = j + 1
End If
Next i
For s = 0 To j - 1
Cells(s + 1, 5) = Y(s)
Cells(s + 1, 6) = X(s)
Next s
End Sub
- puc (25.11.13 21:49:20 ~ 21:49:44)
Bir tane yaptim ben nereden paylasayim?
- vrmill (25.11.13 21:49:38)
1