• DİKKAT

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

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
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

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?
 
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

Teşekkürler, iyi yıllar :).
 
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
 
Geri
Üst