2 Cara Cepat untuk Membahagi Isi Lembaran Kerja Excel menjadi Pelbagai Buku Kerja Berdasarkan Lajur Khusus

Kongsi Sekarang:

Kadangkala, dalam analisis data, anda mungkin perlu memisahkan kandungan lembaran kerja Excel kepada berbilang buku kerja Excel mengikut lajur tertentu. Sekarang, dalam catatan ini, kami akan mengajar anda 2 cara cepat untuk mendapatkannya.

Ramai pengguna sering kali perlu membelah lembaran kerja Excel yang mengandungi baris data yang besar ke dalam beberapa buku kerja Excel yang berasingan berdasarkan lajur tertentu. Contohnya, inilah contoh lembaran kerja Excel saya. Saya ingin membahagikan data helaian ini berdasarkan lajur "Harga lesen tunggal (US $)" menjadi beberapa buku kerja.

Contoh Lembaran Kerja Excel

Secara amnya, anda cenderung menggunakan Kaedah 1 berikut untuk menyaring dan menyalin data secara manual. Tetapi, akan menjadi sangat membosankan dan bodoh jika terdapat terlalu banyak pilihan penapis. Oleh itu, di sini kami juga menunjukkan cara yang lebih mudah - Kaedah 2, yang menggunakan VBA. Sekarang, baca untuk mendapatkannya secara terperinci.

Kaedah 1: Salin Kandungan untuk Mengasingkan Buku Kerja Excel selepas Penapis

  1. Pada mulanya, pilih sel di lajur tertentu, seperti "Sel B1" dalam contoh saya sendiri.
  2. Kemudian, beralih ke tab "Data" dan klik butang "Tapis".Tapis Data
  3. Seterusnya, klik butang "panah bawah" di tajuk lajur untuk memaparkan senarai pilihan penapis.
  4. Sekarang, hapus centang pilihan "(Pilih Semua)".Nyahtanda "Pilih Semua"
  5. Selepas itu, anda boleh memilih satu pilihan penapis, seperti "29.95" dalam contoh saya, dan klik "OK".
  6. Sekali gus, hanya data, yang nilainya di Lajur B adalah "29.95", akan tersisa.Hanya Data yang Disaring Tinggal
  7. Kemudian, salin data yang ditapis dan tampalkannya ke dalam buku kerja Excel baru.Salin dan Tampal Kandungan
  8. Kemudian, gunakan cara yang sama untuk memisahkan data lain untuk memisahkan buku kerja Excel.

Kaedah 2: Isi Batch Split ke dalam Beberapa Buku Kerja Excel melalui VBA

  1. Pertama, pastikan lembaran kerja tertentu dibuka.
  2. Seterusnya, lancarkan editor VBA mengikut “Cara Menjalankan Kod VBA di Excel Anda".
  3. Kemudian, masukkan kod berikut ke dalam projek "ThisWorkbook".
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn()
    Dim objWorksheet As Excel.Worksheet
    Dim nLastRow, nRow, nNextRow As Integer
    Dim strColumnValue As String
    Dim objDictionary As Object
    Dim varColumnValues As Variant
    Dim varColumnValue As Variant
    Dim objExcelWorkbook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
 
    Set objWorksheet = ActiveSheet
    nLastRow = objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row
 
    Set objDictionary = CreateObject("Scripting.Dictionary")
 
    For nRow = 2 To nLastRow
        'Get the specific Column
        'Here my instance is "B" column
        'You can change it to your case
        strColumnValue = objWorksheet.Range("B" & nRow).Value
 
        If objDictionary.Exists(strColumnValue) = False Then
           objDictionary.Add strColumnValue, 1
        End If
    Next
 
    varColumnValues = objDictionary.Keys
 
    For i = LBound(varColumnValues) To UBound(varColumnValues)
        varColumnValue = varColumnValues(i)
 
        'Create a new Excel workbook
        Set objExcelWorkbook = Excel.Application.Workbooks.Add
        Set objSheet = objExcelWorkbook.Sheets(1)
        objSheet.Name = objWorksheet.Name
 
        objWorksheet.Rows(1).EntireRow.Copy
        objSheet.Activate
        objSheet.Range("A1").Select
        objSheet.Paste
 
        For nRow = 2 To nLastRow
            If CStr(objWorksheet.Range("B" & nRow).Value) = CStr(varColumnValue) Then
               'Copy data with the same column "B" value to new workbook
               objWorksheet.Rows(nRow).EntireRow.Copy
  
               nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1
               objSheet.Range("A" & nNextRow).Select
               objSheet.Paste
               objSheet.Columns("A:B").AutoFit
            End If
        Next
    Next
End Sub

Kod VBA - Membahagi Isi Lembaran Kerja Excel menjadi Pelbagai Buku Kerja Berdasarkan Lajur Khusus

  1. Setelah itu, klik ikon "Jalankan" di bar alat atau tekan butang "F5".
  2. Apabila makro selesai, buku kerja Excel yang terpisah akan dibuat dengan data perpecahan dari lembaran kerja Excel sumber.Buku Kerja Excel Baru
  3. Setiap buku kerja akan kelihatan seperti tangkapan skrin berikut.Buku Kerja Excel Baru yang Berasingan

perbandingan

  kelebihan Kekurangan
Kaedah 1 1. Mudah dikendalikan untuk semua pengguna Excel Menyusahkan jika terdapat terlalu banyak pilihan penapis
2. Cepat jika terdapat beberapa pilihan penapis
Kaedah 2 Jauh lebih cekap daripada Kaedah 1 tidak kira jumlah pilihan penapis Agak sukar untuk dikendalikan untuk pemula VBA

Mencegah Kehilangan Data Excel

Walaupun MS Excel semakin maju dan canggih, ia tetap cenderung merosot dari semasa ke semasa kerana pelbagai faktor, seperti tambahan pihak ketiga yang berniat jahat atau kesalahan manusia dan sebagainya. Oleh kerana kemalangan Excel secara langsung boleh menyebabkan Rasuah Excel, untuk mengelakkan kehilangan data Excel, anda harus membuat sandaran fail Excel anda secara berkala. Jika tidak, anda perlu menggunakan alat pembaikan Excel, seperti DataNumen Excel Repair untuk memperbaiki fail Excel yang rosak.

Pengenalan Pengarang:

Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk SQL Server pembaikan dan produk perisian pembaikan prospek. Untuk maklumat lebih lanjut, lawati www.datanumen.com

Kongsi Sekarang:

Ruangan komen telah ditutup.