In dữ liệu từ các trang tính khác nhau bằng VBA trong Microsoft Excel
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.
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.
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]