Bu yazıda, verileri belirli sayıda satıra bölmek için bir makro oluşturacağız.
“RawData” sayfasında ham verilerimiz var. Bu verileri birden çok sayfaya bölmek istiyoruz.
Makroyu çalıştırmadan önce, her sayfada gerekli olan satır sayısını belirtmemiz gerekiyor.
Kod açıklaması
CntRows = Cint(Sayfalar("Ana").TextBox1.Value)
Yukarıdaki kod, bir sayfada gereken yaprak sayısını almak için kullanılır.
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
Yukarıdaki kod, son hücrenin satır numarasını almak için kullanılır.
Sheets.Add after:= Sheets(Sheets.Count)
Yukarıdaki kod, son sayfadan sonra yeni bir sayfa eklemek için kullanılır.
.Range("A" & n).Resize(CntRows, LastColumn).Copy Range("A1")
Yukarıdaki kod, belirtilen sayıda satırı yeni bir çalışma sayfasına kopyalamak için kullanılır.
Lütfen kod için aşağıdan takip edin
Seçenek Explicit Sub SplitDataToMultipleSheets() 'Değişkenleri bildirme LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer 'Bir sayfada gereken satır sayısını alma CntRows = CInt(Sheets("Main").TextBox1.Value ) 'Ekran güncellemelerini devre dışı bırakma Application.ScreenUpdating = False With Sheets("RawData") 'Son hücrenin satır numarasını ve sütun numarasını alma LastRow = .Range("A" & .Rows.Count).End(xlUp).Row LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column 'Sayfadaki veriler arasında döngü oluşturma For n = 1 To LastRow Adım CntRows 'Yeni çalışma sayfası Sayfaları ekleme.Add after:=Sheets(Sheets.Count) 'Verileri yeni sayfaya kopyalama çalışma sayfası .Range("A" & n).Resize(CntRows, LastColumn).Copy Range("A1") Sonraki n .End With 'Ekran güncellemelerini etkinleştirme Application.ScreenUpdating = True End Sub
Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın