Печать данных из разных листов с помощью VBA в Microsoft Excel
В этой статье мы создадим макрос для печати данных с разных листов.
У нас есть разные исходные данные на двух листах, и мы хотим настроить распечатку с этих листов.
Перед запуском макроса мы должны указать тип требуемой распечатки и указать имя, диапазон или пользовательский вид.
Мы создали настраиваемый вид customView1.
Логическое объяснение
Мы создали макрос «PrintReports» для индивидуальной печати. Этот макрос будет зацикливаться, начиная с ячейки A13 до последней строки. Мы можем указать три различных типа для индивидуальной печати.
Для типа 1 нам нужно указать имя листа в следующем столбце.
Для типа 2 нам нужно указать диапазон, для которого мы хотим распечатать.
Для типа 3 нам нужно указать имя пользовательского представления.
Объяснение кода
Для каждой ячейки1 в диапазоне («A13», ActiveCell.End (xlDown))
Приведенный выше код используется для цикла, начиная с ячейки A13 до последней строки.
DefinedName = ActiveCell.Offset (0, 1) .Value Приведенный выше код используется для получения значения из ячейки в следующем столбце из активной ячейки.
Select Case Cell1.Value Case 1 ‘Выбор определенных листов листов (DefinedName). Select Case 2’ Выбор определенного диапазона Application.Goto Ссылка: = DefinedName Case 3 ‘Выбор определенного настраиваемого представления ActiveWorkbook.CustomViews (DefinedName). Show End Select Вышеупомянутый оператор Select используется для выбора указанной области на основе типа, определенного пользователем.
ActiveWindow.SelectedSheets.PrintOut Приведенный выше код используется для печати выбранной области.
Пожалуйста, введите код ниже
Option Explicit Sub PrintReports() 'Declared variables Dim DefinedName As String Dim Cell1 As Range 'Disabling screen updates Application.ScreenUpdating = False 'Looping through all the cells For Each Cell1 In Range("A13", ActiveCell.End(xlDown)) Sheets("Main").Activate 'Selecting the cell Cell1.Select 'Getting value of sheet name or defined range DefinedName = ActiveCell.Offset(0, 1).Value Select Case Cell1.Value Case 1 'Selecting the defined sheet Sheets(DefinedName).Select Case 2 'Selecting the defined range Application.Goto Reference:=DefinedName Case 3 'Selecting the defined custom view ActiveWorkbook.CustomViews(DefinedName).Show End Select 'Printing the required data ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub
Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]