Excel - Salin baris ke total halaman

Isu

Saya memiliki spreadsheet Excel dengan 13 lembar kerja. 12 lembar kerja pertama adalah Januari hingga Desember. Lembar kerja ke-13 adalah total. Setiap lembar kerja memiliki kolom dan baris yang identik.

Di semua lembar kerja, ada sekitar 10 kolom seperti Tanggal, Nama, Alamat, Nomor Akun, Departemen, Nama Karyawan, dll ...

Apa yang saya coba lakukan adalah memasukkan informasi di setiap lembar kerja bulanan dan data yang saya masukkan secara otomatis disalin ke lembar kerja total. Lembar kerja total akan berisi semua data yang dimasukkan. Saya mengalami gangguan bulanan, tetapi halaman total berisi semua transaksi.

Saya sudah mengatur semua lembar kerja, tetapi tidak bisa membuat kode untuk menyalin. Ada saran?

Larutan

Coba ini. Tentu saja pastikan Anda membuat cadangan file asli sebelum pengujian

Asumsi.

  • 1. Seprai adalah nama Jan, Feb, ....
  • 2. Lembar Master disebut Master
  • 3. Kolom 1 tidak memiliki nilai kosong (digunakan untuk menemukan jumlah baris maksimum)
  • 4. Tidak ada lebih dari 11 kolom
  • 5. Lembar master sudah memiliki baris tajuk.

 Sub copyData () Dim maxRows As Long Dim maxCols As Integer Dim conSheet As String 'nama lembar konsolidasi Dim lConRow As Long Dim maxRowCol As Integer' digunakan untuk mencari jumlah baris max maxCols = 11 bulan = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Agu", "Sep", "Oct", "Nov", "Dec") maxRowCol = 1 conSheet = "Master" Sheets (conSheet) .Pilih Range ("A2"). Pilih Cells (65536, 256) .Pilih Seleksi. Akhir (xlDown) .Pilih maxRows = Seleksi.Row Rentang ("A2", Seleksi) .Pilih Seleksi.ClearContents lConRow = 2 Untuk x = 0 To Sheets.Count - 2 Sheets (bulan (x)). Pilih If ActiveSheet.AutoFilterMode Kemudian Sel. Pilih Seleksi. AutoFilter End If Cell. Pilih Dim lastRow Selama tahan lamaRow = Sel (maxRows, maxRowCol) .End ( xlUp) .Row If (lastRow> 1) Kemudian Range (Cells (2, 1), Cells (lastRow, maxCols)). Pilih Selection.Copy Sheet (conSheet) .Pilih Cells (lConRow, 1) .Pilih Pilihan.Paste Khusus .ConRow = Sel (maxRows, maxRowCol) .End (xlUp) .Row lConRow = lSummaryRow + 1 End If If ActiveSheet.Name = "Dec "Kemudian Keluar Sub Akhir Berikutnya 

Catatan

Terima kasih kepada rizvisa1 untuk tip ini di foru.

Artikel Sebelumnya Artikel Berikutnya

Tips