Hücre değeri kadar tekrar etmesi

Szelek

Altın Üye
Katılım
22 Şubat 2025
Mesajlar
3
Excel Vers. ve Dili
Başlangıç
Altın Üyelik Bitiş Tarihi
22-02-2026
Merhaba,

Bir hücrenin bağlı bulunduğu değerin belirli bir değerden sonra tekrar etmesini istiyorum ancak yapamadım. Değer limitim "50" hücrenin yanındaki değer 50 ve katlarının üstüyse 1,2,3,4,5 diye yanında ek değerler yer alıyor. ABC hücresi 35 iken 1 değeri, DFE hücresi 55 iken 2 değerini alıyor. DFE hücresi 110 olsaydı mesela 3 değerini alacaktı. Sarı ile işaretlediğim yerde de hücrelerin aldıkları değer kadar tekrar etmesi gerekiyor bir formülizasyonu var mıdır yahut makro mu gerektirir ?

258190
 

catalinastrap

Özgür
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
637
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
Merhaba aşağıdaki kod işinizi çözecektir. ilk satırı başlık olarak varsaydım



Sub YazdirAynıSatirKadar()
Dim i As Long, j As Long, sonSatir As Long, yazSatir As Long
sonSatir = Cells(Rows.Count, "A").End(xlUp).Row
yazSatir = 2

For i = 2 To sonSatir
If IsNumeric(Cells(i, "C").Value) And Cells(i, "C").Value > 0 Then
For j = 1 To Cells(i, "C").Value
Cells(yazSatir, "D").Value = Cells(i, "A").Value
yazSatir = yazSatir + 1
Next j
End If
Next i
End Sub
 

catalinastrap

Özgür
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
637
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
Aşağıda kod da istediğiniz hesaplamayı yaparak işlemi yapar C sütunundaki datayı B sütunundaki dataya bakarak hesaplayıp yazar ve sonra çoklama işlemini yapar.


Sub Hesapla ()
Dim i As Long, j As Long, sonSatir As Long, yazSatir As Long

sonSatir = Cells(Rows.Count, "B").End(xlUp).Row
For i = 2 To sonSatir
If IsNumeric(Cells(i, "B").Value) And Cells(i, "B").Value <> "" Then
Cells(i, "C").Value = WorksheetFunction.Ceiling(Cells(i, "B").Value / 50, 1)
End If
Next i
yazSatir = 2
For i = 2 To sonSatir
If IsNumeric(Cells(i, "C").Value) And Cells(i, "C").Value > 0 Then
For j = 1 To Cells(i, "C").Value
Cells(yazSatir, "D").Value = Cells(i, "A").Value
yazSatir = yazSatir + 1
Next j
End If
Next i
End Sub
 
Üst