Salinan vba dari lembar lain

Pengguna Excel adalah kelompok pragmatis dan tumbuh menggunakan pernyataan IF dalam penggunaan Excel setiap hari. Jadi ketika berbicara tentang VBA, seseorang secara alami menganggap cara terbaik untuk memindahkan data dari satu tempat ke tempat lain adalah dengan menguji setiap sel untuk melihat apakah memenuhi suatu kondisi kemudian memindahkan seluruh baris. Berikut ini adalah kode umum yang saya lihat di forum excel;

Opsi Eksplisit
Sub Tes()
Dim i Sebagai Integer

Aplikasi. Pembaruan Layar=Salah

Untuk i=2 Sampai 101

Jika Rentang("B" & i). Nilai="Ford" Lalu

Rentang("B" & i). Seluruh baris. Salinan
Lembar ("Lembar2"). Pilih
Rentang("A1"). Akhir(xlDown). Offset(1, 0). Pilih
Pilihan. TempelSpesial xlPasteValues
Lembar("Lembar1"). Pilih

Berakhir jika

Selanjutnya saya

Aplikasi. Pembaruan Layar=Benar
Akhir Sub


Saya mungkin telah memasukkan terlalu banyak baris tetapi saya berasumsi bahwa perekam digunakan untuk menghasilkan sebagian besar kode. Masalah dengan VBA di atas adalah ketika daftar informasi bertambah secara eksponensial, waktu yang dibutuhkan proses untuk berjalan lambat sesuai dengan ukuran kumpulan data. Jika daftar berisi 100 baris, maka Excel harus melakukan 100 tindakan jika semua item memenuhi kriteria. Dapat dikatakan bahwa dalam contoh di atas ada 200 hal yang harus dilakukan Excel, ajukan pertanyaan 100 kali, lakukan tindakan berpotensi 100 kali lebih lanjut


Solusi Sederhana

Lebih mudah untuk mengajukan satu pertanyaan Excel dan melakukan satu tindakan Excel untuk seluruh kumpulan data. Ini dapat dilakukan dengan menggambar pelajaran sebelumnya yang tercakup dalam Autofilter dengan bagian VBA situs. Dalam contoh di atas, cara yang sangat sederhana untuk memindahkan data adalah konstruksi VBA berikut;

Opsi Eksplisit
Sub Filter1() 'Excel VBA untuk menggunakan autofilter lalu salin

Rentang("A1. A101"). Filter Otomatis 1, "Ford"
Rentang("A1. A101"). Salin Lembar2. Range("A" & Baris. Menghitung). Akhir(xlUp)(2)
Rentang("A1"). Autofilter 'Mati dengan autofilter

Akhir Sub


Metode ini berguna saat Anda ingin memasukkan informasi ke dalam lembar ringkasan secara teratur. VBA mengisolasi seperti data dan memindahkan informasi dengan mulus antar lembar


Sisipkan Baris di Bagian Bawah Rentang dan Salin Rumus dari Atas

Jika Anda memiliki data baru yang ditambahkan ke bagian bawah rentang sel dan memerlukan rumus dari sel di atas disalin, maka kode VBA Excel berikut akan mengatasi situasi ini. Itu menyalin baris data terakhir, menyisipkan baris baru dan rumus dari atas akan dialihkan ke bawah satu baris dalam urutan yang sempurna

Kami memulai dengan menunjukkan kepada Anda contoh salinan Lembar yang paling sederhana. menyalin Lembar ke Buku Kerja baru. Contoh di bawah ini akan menunjukkan cara menyalin Lembar dalam Buku Kerja yang sama. Saat menyalin Lembar di dalam Buku Kerja, Anda harus menentukan lokasi. Untuk menentukan lokasi, Anda akan memberi tahu VBA untuk memindahkan Lembar Kerja SEBELUM atau SETELAH Lembar Kerja lain

Salin Lembar Sebelum Lembar Lain

Di sini kita akan menentukan untuk menyalin dan menempelkan Lembar sebelum Lembar2

Sheets("Sheet1").Copy Before:=Sheets("Sheet2")

Salin Lembar Sebelum Lembar Pertama

Selain menentukan nama Lembar, Anda juga dapat menentukan posisi Lembar. Di sini kita menyalin dan menempelkan Lembar sebelum Lembar pertama di Buku Kerja

Sheets("Sheet1").Copy Before:=Sheets(1)
_

Lembar yang baru dibuat sekarang akan menjadi Lembar pertama di Buku Kerja

Salinan vba dari lembar lain

Pengkodean VBA Menjadi Mudah

Berhenti mencari kode VBA online. Pelajari lebih lanjut tentang AutoMacro - Pembuat Kode VBA yang memungkinkan pemula membuat kode prosedur dari awal dengan pengetahuan pengkodean minimal dan dengan banyak fitur hemat waktu untuk semua pengguna

Salinan vba dari lembar lain

Belajarlah lagi

Salin Lembar Setelah Lembar Terakhir

Gunakan properti After untuk memberi tahu VBA agar menempelkan Sheet SETELAH sheet lain. Di sini kita akan menyalin dan menempelkan Lembar setelah Lembar terakhir di Buku Kerja

Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)

Perhatikan bahwa kami menggunakan Spreadsheet. Hitung untuk menghitung jumlah Lembar dalam Buku Kerja

Salinan vba dari lembar lain

Pindah Lembar

Anda juga dapat memindahkan Lembar di dalam Buku Kerja menggunakan sintaks serupa. Kode ini akan memindahkan Sheet1 ke akhir Buku Kerja

Sheets("Sheet1").Move After:=Sheets(Sheets.Count)

Salin dan Lembar Nama

Setelah menyalin dan menempelkan Lembar, lembar yang baru dibuat menjadi Lembar Aktif. Jadi untuk mengganti nama sheet baru kita, cukup gunakan ActiveSheet. Nama

Sub CopySheetRename1()

Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "LastSheet"

End Sub
_

 

Jika nama Lembar sudah ada, kode di atas akan menghasilkan kesalahan. Sebagai gantinya, kita dapat menggunakan "On Error Resume Next" untuk memberi tahu VBA agar mengabaikan penamaan Lembar dan melanjutkan prosedur lainnya

Sub CopySheetRename2()

    Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
    On Error Resume Next
    ActiveSheet.Name = "LastSheet"
    On Error GoTo 0

End Sub

 

Atau gunakan Fungsi RangeExists kami untuk menguji apakah nama Sheet sudah ada sebelum mencoba menyalin sheet

Sub CopySheetRename3()

    If RangeExists("LastSheet") Then
        MsgBox "Sheet already exists."
    Else
        Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "LastSheet"
    End If

End Sub

Function RangeExists(WhatSheet As String, Optional ByVal WhatRange As String = "A1") As Boolean
    Dim test As Range
    On Error Resume Next
    Set test = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)
    RangeExists = Err.Number = 0
    On Error GoTo 0
End Function
_

Pemrograman VBA. Code Generator bekerja untuk Anda

Salin dan Lembar Nama Berdasarkan Nilai Sel

Anda mungkin juga ingin menyalin dan menamai Lembar berdasarkan Nilai Sel. Kode ini akan memberi nama Lembar Kerja berdasarkan nilai Sel di A1

ActiveSheet.Copy
0

Salin Lembar Kerja ke Buku Kerja Lain

Sejauh ini kami telah bekerja dengan menyalin Lembar di dalam Buku Kerja. Sekarang kita akan membahas contoh untuk menyalin dan menempelkan Lembar ke Buku Kerja lain. Kode ini akan menyalin Lembar ke awal buku kerja lain

ActiveSheet.Copy
1

Ini akan menyalin Lembar Kerja ke akhir Buku Kerja lain

ActiveSheet.Copy
2

Perhatikan kita mengganti 1 dengan Workbooks(“Example. xlsm”). Seprai. Hitung untuk mendapatkan Lembar Kerja terakhir

Salin Lembar Kerja ke Buku Kerja Tertutup

Anda mungkin juga ingin menyalin Lembar Kerja ke Buku Kerja yang tertutup. Kode ini akan membuka Buku Kerja yang tertutup sehingga Anda dapat menyalin Lembar ke dalamnya

ActiveSheet.Copy
3

Salin Lembar dari Buku Kerja Lain Tanpa Membukanya

Sebaliknya, kode ini akan menyalin Lembar Kerja DARI Buku Kerja yang tertutup tanpa Anda perlu membuka buku kerja secara manual

Bagaimana cara menyalin dari satu lembar ke lembar lainnya di Excel VBA?

Cara menduplikasi sheet di Excel dengan VBA .
Buka lembar kerja yang ingin Anda salin
Tekan Alt + F11 untuk membuka Editor Visual Basic
Di panel kiri, klik kanan Buku Kerja Ini, lalu klik Sisipkan > Modul
Tempel kode di jendela Kode
Tekan F5 untuk menjalankan makro

Bagaimana cara menyalin lembar Excel ke lembar lain dengan format VBA yang sama?

Apakah mungkin menyalin format satu lembar excel ke lembar kerja lain menggunakan VBA. Seperti manual yang bisa kita lakukan dengan memilih seluruh sheet lalu klik tombol format . Dan kemudian pilih lembar kerja lain dan format yang akan disalin.

Bagaimana cara menyalin data dari satu lembar ke lembar lainnya?

Begini caranya. .
Pilih semua data di lembar kerja. Pintasan keyboard. Tekan CTRL+Spacebar, pada keyboard, lalu tekan Shift+Spacebar
Salin semua data pada lembar dengan menekan CTRL+C
Klik tanda tambah untuk menambahkan lembar kerja kosong baru
Klik sel pertama di lembar baru dan tekan CTRL+V untuk menempelkan data

Bagaimana cara menyalin data dari beberapa lembar ke satu lembar di Excel menggunakan VBA?

Bagaimana cara menggabungkan sheet menggunakan Makro VBA ini? .
Masukkan lembar baru dan beri nama "Master" di buku kerja. Ganti nama nanti jika Anda mau
Masukkan modul di editor VBA dan salin kode VBA di atas
Jalankan makro
Anda akan diminta untuk memilih judul. Pilih heading dan tekan OK