DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub hey_onbesli()
Dim wsD As Worksheet, wsT As Worksheet
Dim rngDat As Range, rngSyf As Range, rngTal As Range
Dim nSat As Integer, kacsayfa As Integer, i As Integer
Const d_adet As Integer = 15
Const adet_t As Integer = 32
Set wsT = Worksheets("talimat")
Set wsD = Worksheets("data")
With wsD
.Activate
Set rngDat = .Range("A1").CurrentRegion
rngDat.Sort key1:=.Range("F2"), order1:=xlDescending, Header:=xlYes
End With
nSat = rngDat.Rows.Count - 1
kacsayfa = Int(nSat / d_adet)
For i = 0 To kacsayfa
Set rngSyf = Nothing: Set rngTal = Nothing
Set rngSyf = wsD.Range("A" & ((d_adet * i) + 2) & ":F" & (d_adet * (i + 1) + 1))
Set rngTal = wsT.Range("B" & (d_adet + 2 + (i * adet_t)) & ":G" & ((d_adet * 2) + 1 + (adet_t * i)))
rngTal.Value = rngSyf.Value
Next i
End Sub
dosyanızdaki talimat sayfasının yapısına göre kurgulanmıştır.
talimat sayfasından satır ve sütun silinmesi yahut eklenmesi halinde For_Next döngüsü içindeki Range'leri tanımlayan kodların ve sabit değerlerin değişmesi gerekir.
dosyanızın bir örneğini kopyalayarak onun üzerinde test ediniz.
Kod:Sub hey_onbesli() Dim wsD As Worksheet, wsT As Worksheet Dim rngDat As Range, rngSyf As Range, rngTal As Range Dim nSat As Integer, kacsayfa As Integer, i As Integer Const d_adet As Integer = 15 Const adet_t As Integer = 32 Set wsT = Worksheets("talimat") Set wsD = Worksheets("data") With wsD .Activate Set rngDat = .Range("A1").CurrentRegion rngDat.Sort key1:=.Range("F2"), order1:=xlDescending, Header:=xlYes End With nSat = rngDat.Rows.Count - 1 kacsayfa = Int(nSat / d_adet) For i = 0 To kacsayfa Set rngSyf = Nothing: Set rngTal = Nothing Set rngSyf = wsD.Range("A" & ((d_adet * i) + 2) & ":F" & (d_adet * (i + 1) + 1)) Set rngTal = wsT.Range("B" & (d_adet + 2 + (i * adet_t)) & ":G" & ((d_adet * 2) + 1 + (adet_t * i))) rngTal.Value = rngSyf.Value Next i End Sub