• DİKKAT

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

Satır Ekleyip Kopyalama

Katılım
18 Ekim 2020
Mesajlar
71
Excel Vers. ve Dili
2016 Türkçe
Merhaba
Yardımcı olursanız sevinirim.
7.000 den fazla dolu satırım (sütun A-B-C-D) var öncelikle dolu satırların arasına 8 er adet boş satır ekleyip daha sonra ilk dolu satırları daha sonradan eklediğim boş satırlara kopyalamak istiyorum
 
Merhaba,
Aşağıdaki kodları bir modüle yapıştırarak dener misiniz?
C++:
Sub BosSatirEkle()
    Application.ScreenUpdating = False
    ss = Range("A" & Rows.Count).End(xlUp).Row
    For j = ss To 2 Step -1
        For i = 1 To 8
            Rows(j).Insert Shift:=xlDown
        Next i
        Range("A" & j - 1 & ":D" & j - 1).Copy Range("A" & j).resize(8)
    Next j
    Application.ScreenUpdating = True
End Sub
 
Merhaba.

Hızlı çalışan alternatif kod.
Aşağıdaki kodu bir modüle kopyalayıp çalıştırın.
Kod:
Sub Test2()
    Dim Bak As Long
    Dim VeriK As Variant
    Dim VeriS As Variant
    Dim Ekle As Integer
    Dim Sira As Long
    VeriK = Range("A2:D" & Range("A" & Rows.Count).End(xlUp).Row).Value
    ReDim VeriS(1 To UBound(VeriK) * 9, 1 To 4)
    For Bak = 1 To UBound(VeriK)
        For Ekle = 1 To 9
            Sira = Sira + 1
            VeriS(Sira, 1) = VeriK(Bak, 1)
            VeriS(Sira, 2) = VeriK(Bak, 2)
            VeriS(Sira, 3) = VeriK(Bak, 3)
            VeriS(Sira, 4) = VeriK(Bak, 4)
        Next
    Next
    Range("A2:D" & UBound(VeriS) + 1).Value = VeriS
End Sub
 
Son düzenleme:
Merhaba,
Aşağıdaki kodları bir modüle yapıştırarak dener misiniz?
C++:
Sub BosSatirEkle()
    Application.ScreenUpdating = False
    ss = Range("A" & Rows.Count).End(xlUp).Row
    For j = ss To 2 Step -1
        For i = 1 To 8
            Rows(j).Insert Shift:=xlDown
        Next i
        Range("A" & j - 1 & ":D" & j - 1).Copy Range("A" & j).resize(8)
    Next j
    Application.ScreenUpdating = True
End Sub
Teşekkürler hocam emeğinize sağlık
 
Merhaba.

Hızlı çalışan alternatif kod.
Aşağıdaki kodu bir modüle kopyalayıp çalıştırın.
Kod:
Sub Test2()
    Dim Bak As Long
    Dim VeriK As Variant
    Dim VeriS As Variant
    Dim Ekle As Integer
    Dim Sira As Long
    VeriK = Range("A2:D57").Value
    ReDim VeriS(1 To UBound(VeriK) * 9, 1 To 4)
    For Bak = 1 To UBound(VeriK)
        For Ekle = 1 To 9
            Sira = Sira + 1
            VeriS(Sira, 1) = VeriK(Bak, 1)
            VeriS(Sira, 2) = VeriK(Bak, 2)
            VeriS(Sira, 3) = VeriK(Bak, 3)
            VeriS(Sira, 4) = VeriK(Bak, 4)
        Next
    Next
    Range("A2:D" & UBound(VeriS) + 1).Value = VeriS
End Sub
Teşekkürler hocam emeğinize sağlık
 
Rica ederim. Kolay gelsin.
 
Geri
Üst