Trong bài này, chúng tôi sẽ tạo macro để in dữ liệu từ các trang tính khác nhau.

Chúng tôi có các dữ liệu thô khác nhau trong hai trang tính và chúng tôi muốn tùy chỉnh bản in ra từ các trang tính này.

ArrowRawFirst

ArrowRawSecond

ArrowMain

Trước khi chạy macro, chúng ta phải chỉ định loại bản in cần thiết và chỉ định tên, phạm vi hoặc chế độ xem tùy chỉnh.

ArrowCustomView

Chúng tôi đã tạo một chế độ xem tùy chỉnh “customView1”.

Giải thích logic

Chúng tôi đã tạo macro “PrintReports” để in tùy chỉnh. Macro này sẽ lặp lại bắt đầu từ ô A13 đến hàng cuối cùng. Chúng tôi có thể chỉ định ba loại khác nhau để in tùy chỉnh.

Đối với loại 1, chúng ta cần chỉ định tên trang tính trong cột tiếp theo.

Đối với loại 2, chúng ta cần chỉ định phạm vi mà chúng ta muốn bản in ra.

Đối với loại 3, chúng ta cần chỉ định tên của chế độ xem tùy chỉnh.

Giải thích mã

Đối với mỗi ô 1 trong phạm vi (“A13”, ActiveCell.End (xlDown))

Đoạn mã trên được sử dụng để lặp bắt đầu từ ô A13 đến hàng cuối cùng.

DefinedName = ActiveCell.Offset (0, 1) .Value Đoạn mã trên được sử dụng để lấy giá trị từ ô trong cột tiếp theo từ ô hiện hoạt.

Chọn Trường hợp Cell1.Value Trường hợp 1 ‘Chọn trang tính đã xác định Sheets (Tên xác định). Chọn Trường hợp 2’ Chọn phạm vi đã xác định Application.Goto Reference: = DefinedName Trường hợp 3 ‘Chọn chế độ xem tùy chỉnh đã xác định ActiveWorkbook.CustomViews (Tên xác định). Hiển thị kết thúc Chọn Câu lệnh Select ở trên được sử dụng để chọn khu vực được chỉ định dựa trên kiểu do người dùng xác định.

ActiveWindow.SelectedSheets.PrintOut Đoạn mã trên được sử dụng để in vùng đã chọn.

Vui lòng theo dõi bên dưới để biết mã

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

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]