• DİKKAT

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

Hücre değeri kadar tekrar etmesi

Katılım
22 Şubat 2025
Mesajlar
3
Excel Vers. ve Dili
Başlangıç
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
 
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
 
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
 
Geri
Üst