Microsoft Excel'de VBA kullanarak farklı sayfalardan veri yazdırma

Anonim

Bu yazımızda farklı sayfalardan veri yazdırmak için bir makro oluşturacağız.

İki sayfada farklı ham verilerimiz var ve bu sayfalardan çıktıları özelleştirmek istiyoruz.

Makroyu çalıştırmadan önce, gerekli çıktı türünü ve adı, aralığı veya özel görünümü belirtmemiz gerekir.

Özel bir görünüm “customView1” oluşturduk.

Mantıksal açıklama

Kişiye özel baskı için “PrintReports” makrosu oluşturduk. Bu makro, A13 hücresinden başlayarak son satıra kadar döngü yapacaktır. Kişiye özel baskı için üç farklı tip belirleyebiliriz.

Tip 1 için, bir sonraki sütunda sayfa adını belirtmemiz gerekiyor.

Tip 2 için çıktısını almak istediğimiz aralığı belirtmemiz gerekiyor.

Tip 3 için özel görünümün adını belirtmemiz gerekiyor.

Kod açıklaması

Aralıktaki Her Hücre1 İçin("A13", ActiveCell.End(xlDown))

Yukarıdaki kod, A13 hücresinden başlayarak son satıra kadar döngü yapmak için kullanılır.

DefinedName = ActiveCell.Offset(0, 1).Value

Yukarıdaki kod, aktif hücreden bir sonraki sütundaki hücreden değeri almak için kullanılır.

Case Cell1.Value seçin

Dava 1

'Tanımlanmış sayfanın seçilmesi

E-Tablolar(DefinedName).Seçin

2. durum

'Tanımlanmış aralığın seçilmesi

Application.Goto Reference:=DefinedName

Durum 3

'Tanımlanmış özel görünümün seçilmesi

ActiveWorkbook.CustomViews(DefinedName).Göster

Seçimi Bitir

Yukarıdaki Select ifadesi, kullanıcı tarafından tanımlanan tipe göre belirtilen alanı seçmek için kullanılır.

ActiveWindow.SelectedSheets.PrintOut

Yukarıdaki kod, seçilen alanı yazdırmak için kullanılır.

Lütfen kod için aşağıdan takip edin

 Seçenek Explicit Sub PrintReports() 'Bildirilen değişkenler Dim DefinedName As String Dim Cell1 As Range 'Ekran güncellemelerini devre dışı bırakma Application.ScreenUpdating = False 'Bütün hücrelerde dolaşma Aralıktaki Her Hücre1 İçin("A13", ActiveCell.End(xlDown)) Sayfalar ("Ana"). 'Hücreyi seçme Hücre1.' seçeneğini seçin 'Sayfa adının veya tanımlı aralığın değeri alınıyor DefinedName = ActiveCell.Offset(0, 1).Value Select Case Cell1.Value Case 1 'Tanımlanmış sayfa Sheets(DefinedName) seçiliyor .Vaka 2'yi seçin 'Tanımlanan aralığı seçme Application.Goto Reference:=DefinedName Durum 3 'Tanımlanmış özel görünümü seçme ActiveWorkbook.CustomViews(DefinedName).Show End 'Gerekli verileri yazdırma ActiveWindow.SelectedSheets.PrintOut Sonraki Application.ScreenUpdating = Gerçek Son Alt 

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