Imprimarea datelor din diferite foi folosind VBA în Microsoft Excel

Anonim

În acest articol, vom crea o macro pentru a imprima date din diferite foi.

Avem diferite date brute în două foi și dorim să personalizăm tipărirea din aceste foi.

Înainte de a rula macrocomanda, trebuie să specificăm tipul de tipărire necesar și să specificăm numele, intervalul sau vizualizarea personalizată.

Am creat o vizualizare personalizată „customView1”.

Explicație logică

Am creat macrocomanda „PrintReports” pentru imprimare personalizată. Această macrocomandă va începe în buclă începând de la celula A13 până la ultimul rând. Putem specifica trei tipuri diferite pentru imprimare personalizată.

Pentru tipul 1, trebuie să specificăm numele colii în coloana următoare.

Pentru tipul 2, trebuie să specificăm intervalul pentru care dorim imprimarea.

Pentru tipul 3, trebuie să specificăm numele vizualizării personalizate.

Explicarea codului

Pentru fiecare celulă1 din interval („A13”, ActiveCell.End (xlDown))

Codul de mai sus este utilizat pentru a face o buclă începând de la celula A13 până la ultimul rând.

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

Codul de mai sus este utilizat pentru a obține valoarea din celula din coloana următoare din celula activă.

Selectați Celula caz 1. Valoare

Cazul 1

'Selectarea foii definite

Foi de calcul (DefinedName). Selectați

Cazul 2

'Selectarea intervalului definit

Application.Goto Reference: = DefinedName

Cazul 3

'Selectarea vizualizării personalizate definite

ActiveWorkbook.CustomViews (DefinedName) .Show

Selectare sfârșit

Instrucțiunea Select de mai sus este utilizată pentru a selecta zona specificată pe baza tipului definit de utilizator.

ActiveWindow.SelectedSheets.PrintOut

Codul de mai sus este utilizat pentru a imprima zona selectată.

Vă rugăm să urmați codul de mai jos

 Opțiune Explicit Sub PrintReports () 'Variabile declarate Dim DefinedName As String Dim Cell1 As Range' Dezactivarea actualizărilor ecranului Application.ScreenUpdating = False 'Buclare prin toate celulele pentru fiecare celulă 1 din interval ("A13", ActiveCell.End (xlDown)) Foi („Principal”). Activați „Selectarea celulei Celulă 1. Selectați„ Obținerea valorii numelui de coală sau a intervalului definit DefinedName = ActiveCell.Offset (0, 1). ). Selectați Cazul 2 'Selectarea intervalului definit Application.Goto Reference: = DefinedName Case 3' Selectarea vizualizării personalizate definite ActiveWorkbook.CustomViews (DefinedName). Show End Selectați 'Tipărirea datelor necesare ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail