Loncat ke daftar isi utama

Bagaimana cara menyalin baris dari beberapa lembar kerja berdasarkan kriteria ke dalam lembar baru?

Misalkan, Anda memiliki buku kerja dengan tiga lembar kerja yang memiliki format yang sama seperti gambar di bawah ini. Sekarang, Anda ingin menyalin semua baris dari lembar kerja ini yang kolom C berisi teks "Selesai" ke dalam lembar kerja baru. Bagaimana Anda bisa mengatasi masalah ini dengan cepat dan mudah tanpa menyalin dan menempelkannya satu per satu secara manual?

Salin baris dari beberapa lembar kerja berdasarkan kriteria ke dalam lembar baru dengan kode VBA


Salin baris dari beberapa lembar kerja berdasarkan kriteria ke dalam lembar baru dengan kode VBA

Kode VBA berikut dapat membantu Anda menyalin baris tertentu dari semua lembar kerja dalam buku kerja berdasarkan kondisi tertentu ke dalam lembar kerja baru. Harap lakukan seperti ini:

1. Tahan ALT + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.

2. Klik Menyisipkan > Modul, dan tempel kode berikut di Module Window.

Kode VBA: Salin baris dari beberapa lembar berdasarkan kriteria ke dalam lembar baru

Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
    xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
    If xWs.Name <> xStr Then
        Set xRg = xWs.Range("C:C")
        Set xRg = Intersect(xRg, xWs.UsedRange)
        For Each xRRg In xRg
            If xRRg.Value = xRStr Then
               xRRg.EntireRow.Copy
               xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
               xC = xC + 1
            End If
        Next xRRg
    End If
Next xWs
Application.DisplayAlerts = True
End Sub

Note: Pada kode diatas:

  • Teks "Lengkap" di dalam xRStr = "Selesai" script menunjukkan kondisi spesifik yang Anda ingin salin berdasarkan baris;
  • C: C dalam Setel xRg = xWs.Range ("C: C") script menunjukkan kolom tertentu tempat kondisi berada.

3. Lalu tekan F5 kunci untuk menjalankan kode ini, dan semua baris dengan kondisi spesifik telah disalin dan ditempelkan ke dalam lembar kerja baru bernama Kutools for Excel dalam buku kerja saat ini. Lihat tangkapan layar:


Lebih relatif menarik atau menyalin artikel data:

  • Salin Data Ke Lembar Kerja Lain Dengan Filter Tingkat Lanjut Di Excel
  • Biasanya, kami dapat dengan cepat menerapkan fitur Filter Tingkat Lanjut untuk mengekstrak data dari data mentah di lembar kerja yang sama. Namun, terkadang, saat Anda mencoba menyalin hasil yang difilter ke lembar kerja lain, Anda akan mendapatkan pesan peringatan berikut. Dalam kasus ini, bagaimana Anda bisa menangani tugas ini di Excel?
  • Salin Baris Ke Lembar Baru Berdasarkan Kriteria Kolom Di Excel
  • Misalnya, ada tabel pembelian buah, dan sekarang Anda perlu menyalin catatan ke lembar baru berdasarkan buah yang ditentukan, bagaimana cara menyelesaikannya dengan mudah di Excel? Di sini saya akan memperkenalkan beberapa metode untuk menyalin baris ke lembar baru berdasarkan kriteria kolom di Excel.
  • Salin Baris Jika Kolom Berisi Teks / Nilai Tertentu Di Excel
  • Misalkan Anda ingin mencari sel yang berisi teks atau nilai tertentu dalam kolom, lalu menyalin seluruh baris tempat sel yang ditemukan berada, bagaimana Anda bisa mengatasinya? Di sini saya akan memperkenalkan beberapa metode untuk mengetahui apakah kolom berisi teks atau nilai tertentu dan kemudian menyalin seluruh baris di Excel.

  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom dan Menyimpan Data; Pisahkan Konten Sel; Gabungkan Baris Duplikat dan Jumlah / Rata-rata... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Favorit dan Sisipkan Rumus dengan Cepat, Rentang, Grafik dan Gambar; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Pengelompokan Tabel Pivot menurut nomor minggu, hari dalam seminggu dan banyak lagi ... Tampilkan Sel yang Tidak Terkunci dan Terkunci dengan warna berbeda; Sorot Sel Yang Memiliki Rumus / Nama...
tab kte 201905
  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,

thank you very much for the code. I have a question: the code runs smoothly on some of my sheets, but looks like enters an infinite loop in some other ones which makes excel crash. What could the reason be?
This comment was minimized by the moderator on the site
Hello there, thank you so much for the code above, it solved me a problem with a complex file; a solution I have been looking for a while now. Thank you..I have one question. How do I change the code so that it copies the rows but only from colum A to colum Q, so not Entire.Row?Thank you in advance and great work!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations