- Katılım
- 5 Ocak 2009
- Mesajlar
- 1,586
- Excel Vers. ve Dili
- 2003 Türkçe
Selam,
Linteki Örnek Dosyam'ın "üretim" sayfasındaki kodlar aşağıdaki gibidir. Sayfa üzerinde detaylı açıklama ve örnekler mevcuttur.
1.sorum;
İstediklerimi aşağıdaki kodlar ile gerçekleştirebiliyorum. Ancak, fonksiyonlardaki gibi topla.çarpım yapmak için
Worksheetfunction.Sumproduct kullanarak değilde,
şeklinde yapabildim.
Çözümler doğrudur. Bu hususta yardımcı olabilirseniz sevinirim.
2.sorum;
aşağıdaki kodlar yerine daha sade, pratik ve/veya alternatif kodlar hususunda yardımcı olabilirseniz çok sevinirim.
linkteki örnek dosyamın "üretim" sayfasında detaylı açıklama ve örnekler belirttim.
İyi çalışmalar.
Linteki Örnek Dosyam'ın "üretim" sayfasındaki kodlar aşağıdaki gibidir. Sayfa üzerinde detaylı açıklama ve örnekler mevcuttur.
1.sorum;
İstediklerimi aşağıdaki kodlar ile gerçekleştirebiliyorum. Ancak, fonksiyonlardaki gibi topla.çarpım yapmak için
Worksheetfunction.Sumproduct kullanarak değilde,
Kod:
[COLOR="Red"]carp = carp + WorksheetFunction.Product(veri.Cells(i, "M"), veri.Cells(i, "N")) [/COLOR][/B]
Çözümler doğrudur. Bu hususta yardımcı olabilirseniz sevinirim.
2.sorum;
aşağıdaki kodlar yerine daha sade, pratik ve/veya alternatif kodlar hususunda yardımcı olabilirseniz çok sevinirim.
linkteki örnek dosyamın "üretim" sayfasında detaylı açıklama ve örnekler belirttim.
İyi çalışmalar.
Kod:
Private Sub CommandButton2_Click()
Dim satır, son, carp, topla As Long
Dim s1, veri As Worksheet
Dim yaprak As Byte
Application.ScreenUpdating = False
Set s1 = Sheets("üretim")
Set veri = Sheets("veri")
son = veri.Cells(65536, 1).End(3).Row
satır = 1
For i = 2 To son
If WorksheetFunction.CountIf(veri.Range("a2:a" & i & ""), veri.Cells(i, "a")) = 1 Then
satır = satır + 1
s1.Cells(satır, "A") = veri.Cells(i, "a")
s1.Cells(satır, "b") = veri.Cells(i, "c").Value
s1.Cells(satır, "c") = veri.Cells(i, "d")
s1.Cells(satır, "d") = veri.Cells(i, "e")
s1.Cells(satır, "e") = veri.Cells(i, "f")
s1.Cells(satır, "f") = veri.Cells(i, "g")
s1.Cells(satır, "g") = "" 'birleştirilen hücreleri önce boşaltmak için
s1.Cells(satır, "I") = "" 'insört yaprakları toplanan hücreleri önce boşaltmak için
s1.Cells(satır, "J") = "" 'insört miktarı toplanan hücreleri önce boşaltmak için
s1.Cells(satır, "K") = "" 'insört ağırlıkları toplanan hücreleri önce boşaltmak için
s1.Cells(satır, "L") = "" 'insört Ortlama Hızları gösterilen hücreleri önce boşaltmak için
carp = 0
topla = 0
End If
If s1.Cells(satır, "a") = veri.Cells(i, "a") Then
If WorksheetFunction.CountIf(veri.Range("a2:a" & i & ""), veri.Cells(i, "a")) = 1 Then
ara = ""
Else
'ara = " , "
ara = Chr(10)
End If
If veri.Cells(i, "I") = "BS" Then
yaprak = veri.Cells(i, "K")
Else
yaprak = veri.Cells(i, "K") / 2
End If
s1.Cells(satır, "g") = s1.Cells(satır, "g") & ara & veri.Cells(i, "b") & "." & veri.Cells(i, "h") 'insörtleri birleştirmek için
s1.Cells(satır, "h") = WorksheetFunction.CountIf(veri.Range("a2:a" & i & ""), veri.Cells(i, "a")) 'insörtleri saymak için
s1.Cells(satır, "I") = s1.Cells(satır, "I") + yaprak ' yaprakları toplamak için
s1.Cells(satır, "J") = s1.Cells(satır, "J") + veri.Cells(i, "M") ' toplam insört miktarfları için
s1.Cells(satır, "K") = s1.Cells(satır, "K") + ((yaprak * Mid(veri.Cells(i, "j"), 1, 3) * Mid(veri.Cells(i, "j"), 5, 3) * veri.Cells(i, "L") * veri.Cells(i, "M")) / 1000000000) 'toplam insört ağtrlıkları için
[COLOR="Red"][B]carp = carp + WorksheetFunction.Product(veri.Cells(i, "M"), veri.Cells(i, "N")) ' miktar ve hızları topla.çarpım yapmak için[/B][/COLOR]
topla = topla + veri.Cells(i, "M") 'miktarların toplamı
s1.Cells(satır, "L") = carp / topla 'hız ortalama değeri için
End If
Next
Application.ScreenUpdating = True
End Sub