Excel - Sao chép hàng vào tổng trang

Vấn đề

Tôi có một bảng tính Excel với 13 bảng tính. 12 bảng tính đầu tiên là từ tháng 1 đến tháng 12. Bảng tính thứ 13 là một tổng số. Mỗi bảng tính có các cột và hàng giống hệt nhau.

Trong tất cả các bảng tính, có khoảng 10 cột như Ngày, Tên, Địa chỉ, Số tài khoản, Bộ phận, Tên nhân viên, v.v ...

Những gì tôi đang cố gắng làm là nhập thông tin trong mỗi bảng tính hàng tháng và có dữ liệu tôi đang nhập tự động được sao chép vào tổng bảng tính. Tổng số bảng tính sẽ chứa tất cả các dữ liệu được nhập. Tôi có một sự cố hàng tháng, nhưng tổng số trang chứa tất cả các giao dịch.

Tôi có tất cả các bảng tính được thiết lập, nhưng không thể đưa ra mã để thực hiện sao chép. Có gợi ý nào không?

Dung dịch

Thử đi. Tất nhiên, đảm bảo bạn tạo bản sao lưu của tệp gốc trước khi thử nghiệm

Giả định.

  • 1. Các tờ có tên Jan, Feb, ....
  • 2. Bảng Master được gọi là Master
  • 3. Cột 1 không có giá trị trống (được sử dụng để tìm số lượng hàng tối đa)
  • 4. Không có quá 11 cột
  • 5. Bảng chủ đã có hàng tiêu đề.

 Sub copyData () Dim maxRows As Long Dim maxCols As Integer Dim conSheet As String 'tên bảng hợp nhất Dim lConRow As Long Dim maxRowCol As Integer' được sử dụng để tìm số lượng tối đa của hàng maxCols = 11 tháng = Array ("Jan", "Feb", "Mar", "April", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") maxRowCol = 1 conSheet = "Master" Sheets (conSheet) .Select Range ("A2"). Chọn các ô (65536, 256) .Chọn vùng chọn.End (xlDown) .Select maxRows = Selection.Row Range ("A2", Selection) .Select Selection.ClearContents lConRow = 2 Với x = 0 To Sheets.Count - 2 Sheets (tháng (x)). Chọn If ActiveSheet.AutoFilterMode Then Cells.Select Selection.AutoFilter End If Cells.Select Dim lastRow As Long lastRow = Cells (maxRows, maxRowCol) .End xlUp) .Row If (lastRow> 1) Then Range (Cells (2, 1), Cells (lastRow, maxCols)). Chọn Selection.Copy Sheets (conSheet) .Select Cells (lConRow, 1) .Select Selection.Paste Special lConRow = Các ô (maxRows, maxRowCol) .End (xlUp) .Row lConRow = lSummaryRow + 1 End If If ActiveSheet.Name = "Dec "Sau đó thoát Sub Sub Next End Sub 

chú thích

Cảm ơn rizvisa1 cho mẹo này trên foru.

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên