Hướng dẫn cách gộp nhiều Sheet vào một Sheet và cách xuất dữ liệu ra file Excel mới

Khi chúng ta sử dụng Excel, bạn thường hợp nhất nhiều sheet vào một sheet lớn để phân tích và tính toán dữ liệu dễ dàng hơn. Hầu hết người sử dụng sử dụng lệnh sao chép và dán, nhưng khi có nhiều sheet tính, cách này rất tốn thời gian.

Ngoài ra với việc lấy dữ liệu từ 1 file khác thì chúng ta có thể xuất dữ liệu từ file gốc ra file Excel mới. Kỹ thuật này cũng thường xuyên được sử dụng khi làm việc với dữ liệu lớn, hoặc việc phải xuất báo cáo ra 1 file riêng để gửi cho bộ phận khác. Trong bài viết này, eLib sẽ hướng dẫn các bạn một số mẹo để giải quyết vấn đề này nhé.

Hướng dẫn cách gộp nhiều Sheet vào một Sheet và cách xuất dữ liệu ra file Excel mới

1. Hướng dẫn cách gộp nhiều sheet vào một sheet tổng hợp bằng VBA có code đính kèm

Giả sử bạn có ba sheet tính (Grade1, Grade2, Grade3) chứa thông tin của học sinh, bạn cần hợp nhất chúng vào một sheet tính như hình dưới đây :

Gộp nhiều sheet vào một sheet tổng hợp

Mã VBA sau có thể giúp bạn lấy dữ liệu của tất cả sheet tính từ file tính đang hoạt động và kết hợp chúng thành trang tính mới. Đồng thời, tất cả trang tính phải có cùng cấu trúc, cùng tiêu đề cột và thứ tự cột. Hãy làm như sau:

  • Nhấn giữ Alt + F11, hộp thoại Microsoft Visual Basic for Applications mở ra.
  • Nhấp Insert > Module, và dán đoạn mã sau vào cửa sổ Module.

Sub Combine()
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub

  • Nhấn F5 để chạy mã. Tất cả dữ liệu trong bảng tính đã được hợp nhất thành trang tính Combined được đặt trước các trang tính khác.

Chú ý.

(1) Dữ liệu của bạn phải bắt đầu từ ô A1, nếu không đoạn mã sẽ không hoạt động.

(2) Dữ liệu của bạn phải có cùng cấu trúc.

(3) Mã này chỉ có thể kết hợp tất cả trang tính của một bảng tính, nếu bạn muốn hợp nhất nhiều trang tính từ nhiều bảng tính khác nhau, đoạn mã này sẽ không hoạt động.

VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như word, power point, outlook… giúp biến file excel của bạn trở thành 1 phần mềm chuyên nghiệp…

2. Hướng dẫn cách xuất dữ liệu ra file Excel mới

Ngược lại với việc lấy dữ liệu từ 1 file khác thì chúng ta có thể xuất dữ liệu từ file gốc ra file Excel mới. Kỹ thuật này cũng thường xuyên được sử dụng khi làm việc với dữ liệu lớn, hoặc việc phải xuất báo cáo ra 1 file riêng để gửi cho bộ phận khác. Sau đây chúng ta cùng tìm hiểu cách thực hiện nhé:

2.1. Quy trình thực hiện

Trước tiên chúng ta cần hình dung được những việc cần phải làm trong thao tác này:

  • Xác định vùng dữ liệu cần trích xuất: Sheet nào, Range nào
  • Mở Workbook mới (hoặc Workbook sẽ nhận dữ liệu trích xuất)
  • Copy > Paste vùng dữ liệu cần trích xuất vào Workbook vừa mở
  • Đóng Workbook nhận dữ liệu trích xuất lại

2.2. Câu lệnh VBA mẫu

Sub ExportData_Test() 'Trích xuất dữ liệu vào Workbook khác
Dim owb As Workbook
Dim sh As Worksheet
Xác định vùng dữ liệu cần trích xuất
Set sh=Sheet1
sh.Range("A1:F100").Copy
Mở Workbook cần lấy dữ liệu
Set owb=Workbooks.Open("C:\Test\England.xlsm")
Dán nội dung cần trích xuất vào workbook vừa được mở
owb.Sheets("Data").Range("A1").PasteSpecial xlPasteValues
Đóng Workbook cần lấy dữ liệu, lưu ý là có Save khi đóng
owb.Close True
End Sub

2.3. Nâng cao

Việc mở / đóng workbook khác sẽ cập nhật màn hình, khiến màn hình nhấp nháy => Do đó cần áp dụng thêm lệnh đóng / mở chức năng cập nhật màn hình: Application.ScreenUpdating = True / False

Khi mở Workbook có sẵn cần lấy dữ liệu cần xác định rõ đường dẫn tới thư mục chứa Workbook đó + Tên file + Đuôi file cho đúng

Khi mở Workbook mới thì có thể thêm lệnh lưu tên cho Workbook đó khi đóng

Việc xử lý dữ liệu trên Excel đôi khi mất nhiều thời gian và công sức khi các dữ liệu có tính lặp đi lặp lại. VBA khắc phục được điểm này. Khi sử dụng VBA trong công việc, bạn có thể rút ngắn thời gian làm việc rất nhiều, có thể từ 01 ngày (nếu xử lý trên Excel) còn 01h (khi xử lý trên VBA). Ngoài ra, VBA còn giúp lập báo cáo tự động và điều khiển các chương trình khác như Word, Power Point, Outlook … giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp …

Như vậy bài viết đã Hướng dẫn cách gộp nhiều Sheet vào một Sheet và cách xuất dữ liệu ra file Excel mới. Chỉ cần vài thao tác đơn giản, bạn đã có thể xuất dữ liệu và gộp nhiều Sheet trong excel rồi. Chúc các bạn thực hiện thao tác thành công

Ngày:09/08/2020 Chia sẻ bởi:Ngoan

CÓ THỂ BẠN QUAN TÂM