Verileri alt alta tekrar ettiren makro ile ilgili bir soru

Katılım
12 Nisan 2011
Mesajlar
190
Excel Vers. ve Dili
2010-TR
Merhaba arkadaşlar,

Aşağıdaki makro, 7. sütundaki değer kadar 1. sütundan 7. sütunda dahil tüm verileri tekrar ettirek yazdırıyor.

Soru ise ; 7.sütun olarak belirtilen bu makro sütün bilgi girin diye bir sorgu ile hangi sütundan itibaren tüm satırı alt alta tekrar ettirebilir diye bir sorgu ekleyebiliriz ?

Sub alt()
Dim i&: i = 2
While Cells(i, 7) <> ""
If Cells(i, 7) = 1 Then i = i + 1
With Cells(i, 1)
Range(.Offset(1, 0), .Offset(Cells(i, 7) - 1, 0)).EntireRow.Insert Shift:=4
Range(.Offset(0, 0), .Offset(Cells(i, 7) - 1, 7)).FillDown
End With
i = i + Cells(i, 7)
Wend
i = Empty
End Sub
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Başlangıç ve bitiş olarak 2 kez mi soracak.
Yoksa siz işlemi artık tek sütunda mı çalıştırmak istiyorsunuz.

. . .
 
Katılım
12 Nisan 2011
Mesajlar
190
Excel Vers. ve Dili
2010-TR
. . .

Başlangıç ve bitiş olarak 2 kez mi soracak.
Yoksa siz işlemi artık tek sütunda mı çalıştırmak istiyorsunuz.

. . .
Tek sütun için çalışacaktır.

Yani kodda belirtilen 7 leri ben manuel olarak 5 ve 6 veya 10. sütun gibi değiştiriyorum. Bunun yerine bana hangi sütun diye sorarsa daha iyi olur. Yardımlarınızı rica ederim.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Yine 1 den sizin girdiğiniz sütun sayısına kadar mı yapacak.

. . .
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Kod:
Sub alt()
    Dim i&: i = 2
    
    sor = InputBox("Sütun Sayısı Girin")
    If sor = "" Then Exit Sub
    
    If Not IsNumeric(sor) Then Exit Sub
    sor = sor * 1
    While Cells(i, sor) <> ""
    If Cells(i, sor) = 1 Then i = i + 1
    With Cells(i, 1)
        Range(.Offset(1, 0), .Offset(Cells(i, sor) - 1, 0)).EntireRow.Insert Shift:=4
        Range(.Offset(0, 0), .Offset(Cells(i, sor) - 1, 7)).FillDown
    End With
    i = i + Cells(i, sor)
    Wend
    i = Empty
End Sub
. . .
 
Katılım
12 Nisan 2011
Mesajlar
190
Excel Vers. ve Dili
2010-TR
. . .

Kod:
Sub alt()
    Dim i&: i = 2
    
    sor = InputBox("Sütun Sayısı Girin")
    If sor = "" Then Exit Sub
    
    If Not IsNumeric(sor) Then Exit Sub
    sor = sor * 1
    While Cells(i, sor) <> ""
    If Cells(i, sor) = 1 Then i = i + 1
    With Cells(i, 1)
        Range(.Offset(1, 0), .Offset(Cells(i, sor) - 1, 0)).EntireRow.Insert Shift:=4
        Range(.Offset(0, 0), .Offset(Cells(i, sor) - 1, 7)).FillDown
    End With
    i = i + Cells(i, sor)
    Wend
    i = Empty
End Sub
. . .
Sorum çözülmüştür. Teşekkürler emeğinize sağlık. Allah razı olsun.
 
Üst