Để chuyển hoàn toàn dữ liệu từ phạm vi ô hiện tại sang một bảng mới, bạn cần biết phạm vi ô được sử dụng xung quanh ô đang hoạt động lớn như thế nào. Hoặc bạn có thể để Excel làm việc này cho bạn và sao chép g
Bạn có muốn tự động sao chép tất cả các ô từ một dải ô liền kề trong một macro không? Điều này đặc biệt hữu ích nếu bạn muốn phản ứng linh hoạt với đầu vào từ người dùng và không biết vùng dữ liệu được nhập lớn như thế nào.
Bạn có thể sử dụng macro để thực hiện công việc này. Macro xác định tất cả các ô xung quanh ô hiện hoạt và sao chép chính xác các ô này vào một sổ làm việc mới.
Hình dưới đây cho thấy một bảng có ba vùng dữ liệu khác nhau. Chúng được mã hóa bằng màu sắc để dễ nhìn hơn.
Tất cả các ô kết nối với các ô lân cận mà không có ô trống được coi là thuộc về nhau.
Với macro phù hợp, bạn có thể đảm bảo rằng sau khi nhấp vào một ô trong một phạm vi ô, tất cả các ô thuộc về ô đó sẽ được sao chép vào một bảng mới. Đây là mã chương trình thích hợp:
Bản sao phụ khu vực hiện tại ()
Làm mờ vùng nguồn Như Phạm vi
Làm mờ NewSheet dưới dạng Worksheet
Đặt vùng nguồn = ActiveCell.CurrentRegion
Đặt NeuesBlatt = Workbooks.Add.Worksheets (1)
Khu vực nguồn. Đích sao chép: = NeuesBlatt.Range ("A1")
Kết thúc Sub
Trước khi gọi macro, hãy bấm vào ô bất kỳ trong bảng. Macro xác định tất cả các ô, cùng với ô đã chọn, thuộc một phạm vi và sao chép phạm vi dữ liệu này vào một sổ làm việc trống, mới. Hình dưới đây cho thấy kết quả trông như thế nào sau khi gọi macro nếu ô E9 trong bảng từ hình đầu tiên được chọn trước khi macro bắt đầu.
Để nhập macro, nhấn ALT F11 trong Excel để hiển thị trình chỉnh sửa VBA. Chọn lệnh INSERT - MODULE trong trình soạn thảo VBA và nhập macro. Để bắt đầu macro, hãy kích hoạt tổ hợp phím ALT F8 trong Excel. Hai phím tắt để khởi động trình soạn thảo VBA và macro hoạt động trong tất cả các phiên bản Excel.