Tabloyu bir veri değiştirerek çoğaltma

srdrkzltg

Altın Üye
Katılım
30 Haziran 2014
Mesajlar
35
Excel Vers. ve Dili
Windows: Türkçe
Mac OS X: İngilizce
Altın Üyelik Bitiş Tarihi
31-12-2027
Merhaba arkadaşlar,

Elimde ek'te yer alan dosyadaki gibi B2:G530 arasında bir tablo var, buna ek olarak O2:0465 arasında bir veri var,
İsteğim şu,
B2:G530 arasındaki veriyi (Başlık hariç yani B3:G530) verisinin B sütununu ile O2 ile çarpması ve 465 e kadar bunu çoğaltması,

Bunu nasıl yapabilirim?
 

Ekli dosyalar

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Sorunuzdan şunu anladım.
B3xO3
B4xO4
B5xO5
. . . . . . .
. . . . . . . . Eğer böyleyse sonuç nereye yazılacak? Böyle değilse örnek dosyanız üzerinde manuel olarak yapılmış birkaç örnek verebilir misiniz?
 

srdrkzltg

Altın Üye
Katılım
30 Haziran 2014
Mesajlar
35
Excel Vers. ve Dili
Windows: Türkçe
Mac OS X: İngilizce
Altın Üyelik Bitiş Tarihi
31-12-2027
Sayfa 1 iki tane örnek ekledim, O3 ve O4 değerini tabloda çoklamış versiyo,

Benim temel bir tablom var yani aslında, C3:G530 arasında, bu veriler hep sabit kalacak, fakat B sütununa O3,04,05... O465 O hücresinin dolu olduğu satıra kadar her seferinde yazılacak.
 

Ekli dosyalar

srdrkzltg

Altın Üye
Katılım
30 Haziran 2014
Mesajlar
35
Excel Vers. ve Dili
Windows: Türkçe
Mac OS X: İngilizce
Altın Üyelik Bitiş Tarihi
31-12-2027
Teşekkürler, iyi yıllar :).
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Bu öncekine göre daha hızlı çalışan kod:
Kod:
Sub Test1()
Set s1 = Sheets("Veri")
Set s2 = Sheets("Sayfa1")
myTime = Timer
    ss1 = s1.Cells(Rows.Count, "B").End(3).Row
    ss2 = s1.Cells(Rows.Count, "O").End(3).Row
    Application.ScreenUpdating = False
    s2.Rows("3:" & s2.Cells(Rows.Count, "G").End(3).Row).Delete Shift:=xlUp
sat = 2
myRng = s1.Range("C3:G" & ss1)
Len_Tbx = ss1 - 2
Len_Tby = ss2 - 2

For i = 3 To (Len_Tbx * Len_Tby) Step Len_Tbx
    s2.Range("C" & i).Resize(UBound(myRng, 1), UBound(myRng, 2)) = myRng
    sat = sat + 1
    s2.Range("B" & i) = s1.Range("O" & sat)
    s2.Range("B" & i & ":B" & i + Len_Tbx).FillDown
Next
    Application.ScreenUpdating = True
 MsgBox "Görev  tamamlandı." & vbCrLf & "İYİ YILLAR" & vbCrLf & _
               "İşlem süresi ; " & Format(Timer - myTime, "0.00") & " Saniye", vbInformation, "BİLGİ"
End Sub
 
Üst