Bu yazımızda, belirli bir koşula göre sayfa sonları eklemek için bir makro oluşturacağız.
Ham veriler, Temsilci adı, Müşteri adı, Telefon numarası ve E-posta kimliğini içeren aracı bilge verilerden oluşur.
Yazdırma sırasında belirli bir aracının verilerini ayrı sayfalarda istiyoruz. Bu nedenle, her aracının verilerinin sonuna bir sayfa sonu eklemek istiyoruz.
Mantıksal açıklama
Sayfa sonu eklemek için “InsertingPagebreak” makrosu oluşturduk. Belirli bir aracıyla ilgili son hücreyi bulmak için ilk sütundaki 2 ardışık hücrenin değerlerini karşılaştırır ve bir sayfa sonu ekleriz.
Kod açıklaması
ActiveSheet.ResetAllPageBreaks
Yukarıdaki kod, sayfaya eklenen önceki sayfa sonlarını kaldırmak için kullanılır.
If Cells(LngRow, LngCol).Value Cells(LngRow - 1, LngCol).Value O zaman
Yukarıdaki kod, ilk sütundaki ardışık hücreleri karşılaştırmak için kullanılır.
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol)
Yukarıdaki kod, belirtilen hücrelerden önce sayfa sonları eklemek için kullanılır.
Lütfen kod için aşağıdan takip edin
Sub InsertingPagebreak() 'Değişkenler Bildiriliyor Dim LngCol As Long Dim LngRow, MaxRow As Long 'Mevcut sayfa sonlarını temizle ActiveSheet.ResetAllPageBreaks LngCol = 1 'Son hücrenin satır numarası alınıyor MaxRow = Range("A11").SpecialCells(xlCellTypeLastCell). 'Onüçüncü satırdan başlayarak tüm satırlar arasında döngü yapma For LngRow = 13 To MaxRow 'Belirtilen sütun için iki ardışık satırın hücresindeki değerleri karşılaştırma If Cells(LngRow, LngCol).Value Cells(LngRow - 1, LngCol).Value Then ' Sayfa sonu ekleme ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol) End If Next LngRow 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