Microsoft Excel'de VBA kullanarak bir sayfadaki verileri belirli sayıda satıra bölün

İçindekiler

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

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave