• DİKKAT

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

makroda kod değişimi

Katılım
25 Nisan 2007
Mesajlar
192
Excel Vers. ve Dili
excel 2007 Türkçe
merhaba arkadaşlar aşağıdaki kod sorunsuz işimi goruyor ama biraz ufak sıkıntım var söyle anlatıyım bi tane sayfam var csutununda m3 h sutununda m2 I sutununda toplamm3 var k sutununda fire ve l sutunundada verim var ben buraya bilgileri girdikce userformdan otomatik olarak sayfa ya giriyor ve tüm işlemleri yapior sorunsuz olarak aşağıdaki kodda

Sub aaa()
For a = 1 To Sheets.Count
If Sheets(a).Name = "Anasayfa" Then GoTo 10
syf = Sheets(a).Name
Sheets(syf).Select
son = Cells(65536, 1).End(xlUp).Row

For i = son To 5 Step -1

If WorksheetFunction.CountIf(Range("b5:b" & i), Cells(i, 2)) = 1 Then

isim = Cells(i, 2).Value
deger = Cells(i, 3).Value
toplam = Evaluate("SUMPRODUCT((" & syf & "!b5:b55000=""" & isim & """)*(" & syf & "!I5:I55000))")
Cells(i, 11) = toplam - deger
Cells(i, 12) = toplam / deger
End If
Next
10 Next
End Sub


Benim istediğim olay verimi sürekli topluyor verimi toplaması değilde verimi c sütünündeki m3 ile I sutunundaki m3 bolecek ve 100 le carpim verimi vercek yani CSUTUNU/ISUTUNU*100 seklinde bilgiler girildikce bu şekilde vermesini istiorum şimdiden ilginize tşkler iyi çalışmalar
 
Benim istediğim olay verimi sürekli topluyor verimi toplaması değilde verimi c sütünündeki m3 ile I sutunundaki m3 bolecek ve 100 le carpim verimi vercek yani CSUTUNU/ISUTUNU*100 seklinde bilgiler girildikce bu şekilde vermesini istiorum şimdiden ilginize tşkler iyi çalışmalar
bu kodu dener misiniz ?
...................
For i = 1 To [C65536].End(3).Row
For x = 1 To [I65536].End(3).Row
veri = Val(cells(i,"C") / Val(cells(x,"I") * 100
Next
Next
...................
 
sayın emre

Sub aaa()
For a = 1 To Sheets.Count
If Sheets(a).Name = "Anasayfa" Then GoTo 10
syf = Sheets(a).Name
Sheets(syf).Select
son = Cells(65536, 1).End(xlUp).Row

For i = son To 5 Step -1

If WorksheetFunction.CountIf(Range("b5:b" & i), Cells(i, 2)) = 1 Then

isim = Cells(i, 2).Value
deger = Cells(i, 3).Value
toplam = Evaluate("SUMPRODUCT((" & syf & "!b5:b55000=""" & isim & """)*(" & syf & "!I5:I55000))")
Cells(i, 11) = toplam - deger
Cells(i, 12) = toplam / deger
For x = 1 To [I65536].End(3).Row
veri = Val(cells(i,"C") / Val(cells(x,"I") * 100
Next
End If
10 Next
End Sub

veri = Val(cells(i,"C") / Val(cells(x,"I") * 100 burda hata verior
 
dosya ektedir açılış kul adi AYKUT ŞİFRE: 123456A DIR
 
değer

arkadaşım şimdi burada dediğin (C / I) * 100 değeri hangi sütuna verilecek...
 
bu konuda yardımcı olabilecek uzman arkadasların cevaplarını bekliorum tşkler iyi çalışmalar
 
pek uzman değilim ama idare et :mrgreen: >>
Sub aktarma()
For syf = 2 To Worksheets.Count
For c = 5 To Sheets(syf).[C65536].End(3).Row
For i = 5 To Sheets(syf).[I65536].End(3).Row
son = [l65536].End(3).Row + 1
Sheets(syf).Cells(son, 11) = Sheets(syf).Cells(c, 3) / Sheets(syf).Cells(i, 9) * 100
Next
Next
Next
End Sub
 
Sub aaa()
For a = 1 To Sheets.Count
If Sheets(a).Name = "Anasayfa" Then GoTo 10
syf = Sheets(a).Name
Sheets(syf).Select
son = Cells(65536, 1).End(xlUp).Row

For i = son To 5 Step -1

If WorksheetFunction.CountIf(Range("b5:b" & i), Cells(i, 2)) = 1 Then

isim = Cells(i, 2).Value
deger = Cells(i, 3).Value
toplam = Evaluate("SUMPRODUCT((" & syf & "!b5:b55000=""" & isim & """)*(" & syf & "!I5:I55000))")
Cells(i, 11) = toplam - deger
Cells(i, 12) = toplam / deger
' buraya aşağıdaki kodu eklemelisin
End If
Next
10 Next
End Sub

Topicin ilk mesajında bu kodu yazmışsın. Ben çözümünü buna göre anlatacağım.

Benim istediğim olay .... yani CSUTUNU/ISUTUNU*100 seklinde .....

buna gore yapman gereken yukarıdaki kırmızı yere,
If Cells(i, "I") > 0 Then Cells(i, "L") = IIf(IsNumeric(Cells(i, "C")), Cells(i, "C"), 0) / Cells(i, "I") * 100
kodunu eklemendir. (Tablona uyarlamadım, test edersen sorun çıkmaması lazım)
 
Geri
Üst