Jika lembaran kerja diringkaskan, ia akan dipecahkan. Bagaimana dengan cepat membahagikan lembaran kerja? Dalam artikel ini, kami berkongsi dua kaedah pembahagian lembaran kerja dengan cepat yang meningkatkan kecekapan sebanyak 99.99%. Saya harap ia akan membantu semua orang!
Pernahkah anda menghadapi masalah sebegini: selepas kami meringkaskan semua maklumat dalam jadual, kami perlu mengisih jadual besar ini mengikut syarat tertentu kemudiannya dibahagikan kepada beberapa lembaran kerja. Bagaimanakah ini boleh dicapai? Mungkin kaedah yang paling bodoh ialah menapis data dalam lembaran kerja asal dan kemudian menyalin dan menampalnya ke lembaran kerja baharu Namun, kaedah ini tidak sesuai untuk kes yang mempunyai banyak data, dan lembaran kerja baharu juga perlu dinamakan semula satu demi satu. satu, yang menyusahkan. Hari ini saya akan memperkenalkan kepada anda dua kaedah cepat dan praktikal untuk membelah lembaran kerja.
Seperti yang ditunjukkan dalam gambar, kini kita perlu membahagikan kandungan lembaran kerja ini kepada beberapa lembaran kerja mengikut bandar.
VBA ialah EXCEL yang mengendalikan besar jumlah kerja berulang Alat terbaik untuk digunakan. Walau bagaimanapun, ramai orang tidak tahu apa-apa tentang VBA, jadi hari ini saya akan berkongsi sekeping kod dengan anda, dan menerangkan secara terperinci cara mengubah suai nilai kod mengikut jadual sebenar, supaya anda boleh menggunakannya di tempat kerja.
(1) Tekan Alt+F11 untuk membuka editor VBA dan klik "Modul" di bawah menu "Sisipkan".
(2) Masukkan kod berikut dalam tetingkap kod di sebelah kanan. Jika anda tidak mahu memasukkannya dengan tangan, anda boleh menyertai kumpulan untuk memuat turun fail kod yang disediakan dan hanya menyalin dan menampalnya.
Sub split table()
Dim i, iRow, iCol, t, iNum As Integer, sh As Worksheet, str As String Application.ScreenUpdating = False With Worksheets("Sheet1") iRow = .Range("A65535").End(xlUp).Row iCol = .Range("IV1").End(xlToLeft).Column t = 3 For i = 2 To iRow str = .Cells(i, t).Value On Error Resume Next Set sh = Worksheets(str) If Err.Number <> 0 Then Set sh = Worksheets.Add(, Worksheets(Worksheets.Count)) sh.Name = str End If sh.Range("A1").Resize(1, iCol).Value = .Range("A1").Resize(1, iCol).Value iNum = sh.Range("A" & Rows.Count).End(xlUp).Row sh.Range("A" & iNum + 1).Resize(1, iCol).Value = .Range("A" & i).Resize(1, iCol).Value Next i End With Application.ScreenUpdating = True End Sub
Analisis kod:
Teks merah di sini menunjukkan parameter kod yang perlu diubah suai mengikut situasi sebenar ' digunakan untuk menunjukkan ulasan Teks berikut tidak menjejaskan operasi kod, tetapi hanya digunakan untuk menerangkan kod. Teks anotasi ditunjukkan secara khusus dalam warna kelabu di sini.
Sub Jadual pisah 'Nama fail, ubah suai mengikut nama fail anda sendiri
Dim i, iRow, iCol, t, iNum As Integer, sh As Worksheet, str As String
Application.ScreenUpdating = Palsu 'Matikan muat semula skrin
Dengan Lembaran Kerja("Helaian1")'Petikan berganda ialah nama buku kerja,mengikut yang sebenar pengubahsuaian nama buku kerja
iRow = .Julat("A65535").Tamat(xlUp).Baris ' daripada A Dapatkan bilangan baris dalam lembaran kerja bermula dari baris terakhir lajur Secara amnya, hanya parameter lajur dalam Julat diubah jika anda mahu julat berkesan lembaran kerja itu bermula dari B lajur, nilainya ialah B65535
iCol = .Julat("IV1").Tamat(xlToKiri).Lajur' daripada lajur terakhir ( IV ) Dapatkan bilangan lajur lembaran kerja bermula dari baris 1 ke kiri Secara amnya, hanya parameter baris dalam Julat yang diubah kawasan lembaran kerja daripada Bermula dengan baris 2, nilainya ialah IV2
t = 3 't ialah bilangan lajur, tetapkan lajur mana untuk dipecah berdasarkan, sebagai contoh, jika anda menekan E Pecahan lajur, berikut ialah t=5
Untuk i = 2 Kepada iRow 'i ialah bilangan baris untuk mendapatkan nilai pemisahan itu bergantung pada kerja. Perubahan sebenar Jadual
str = .Sel(i, t).Nilai 'Dapatkan nilai sel (i, t) sebagai nama jadual pisah
Pada Ralat Sambung semula Seterusnya
Set sh = Lembaran kerja(str) 'Buat lembaran kerja yang dinamakan selepas nilai yang diperoleh di atas
Jika Err.Nombor 0 Maka 'Jika lembaran kerja ini tidak wujud, tambah satu dan namakannya
Set sh = Lembaran Kerja.Tambah(, Lembaran Kerja(Lembaran Kerja. Kiraan))
sh.Name = str
Tamat Jika 'Jika lembaran kerja ini wujud
sh.Julat("A1").Ubah saiz(1, iCol).Nilai = .Julat(" A1").Ubah saiz(1, iCol).Value ' mendapat tajuk lembaran kerja Secara amnya, hanya nilai lajur dalam Julat dan nilai baris dalam Ubah Saiz<.> ditukar, seperti kerja Tajuk jadual bermula daripada B lajur dan baris 3, kemudian kod ini menjadi sh.Range("B1").Ubah saiz (3, iCol).Nilai = .Julat("B1").Ubah Saiz(3, iCol).Nilai '
iNum = sh.Range("A" & Rows.Count).End(xlUp).Row ' Secara amnya hanya nilai lajur dalam Julat ditukar, sebagai contoh, lembaran kerja adalah daripada B lajur bermula, di sini ia menjadi Julat("B" & Baris. Kiraan).Tamat(xlUp).Baris
sh.Julat("A" & iNum + 1).Ubah saiz(1, iCol).Nilai = .Julat("A" & i).Ubah saiz(1, iCol).Nilai
'Tampal data lembaran kerja dalam jadual baharu Secara amnya, hanya nilai lajur Julat diubah jika lembaran kerja dari B pada permulaan lajur, kemudian tukar kepada B kepada Julat("B" & iNum + 1).Ubah saiz(1, iCol).Nilai = .Julat("B" & i).Ubah saiz(1, iCol).Nilai
Seterusnya i
Tamat Dengan
Application.ScreenUpdating = Benar 'Hidupkan segar semula skrin
Tamat Sub
(3) Selepas memasukkan kod, klik "Run Subprocess" dalam bar menu. Dengan cara ini, lembaran kerja dibahagikan. Lengkapkannya seperti berikut: Dengan cara ini, anda boleh melengkapkan pembahagian lembaran kerja dengan satu klik.(2) Letakkan medan "Bandar" untuk dibahagikan kepada medan penapis, medan "Tarikh" dan "Jurujual" ke dalam medan baris dan "Jualan" ke dalam nilai padang .
(3) Ubah suai format jadual pangsi untuk memudahkan pembentukan format jadual apabila menjana lembaran kerja baharu.
Pilih "Tunjukkan sebagai Jadual" dalam menu lungsur turun "Reka Letak Laporan" dalam tab "Reka Bentuk" di bawah "Alat Jadual Pangsi".
Pilih "Repeat All Item Labels" dalam menu lungsur turun "Report Layout" dalam tab "Design" di bawah "PivotTable Tools".
Pilih "Jangan tunjukkan subjumlah" dalam menu lungsur turun "Subtotal" dalam tab "Reka Bentuk" di bawah "Alat Jadual Pangsi".
Keputusan yang lengkap adalah seperti berikut:
(4) Akhir sekali, bahagikan jadual pangsi kepada lembaran kerja individu. Pilih "Tunjukkan Halaman Penapis Laporan" daripada menu lungsur turun "Pilihan" dalam blok fungsi "Jadual Pangsi" tab "Analisis" di bawah "Alat Jadual Pangsi", dan pilih "Bandar" sebagai medan halaman penapis laporan untuk dipaparkan.
(5) Untuk memudahkan pemprosesan seterusnya, ubah suai jadual pangsi menjadi jadual biasa. Pilih lembaran kerja pertama "Beijing", tahan Shift, dan klik pada lembaran kerja terakhir "Chongqing" untuk membentuk kumpulan lembaran kerja. Ini membolehkan operasi bersatu pada semua lembaran kerja dalam kelompok.
Pilih semua dan salin dan tampal sebagai nilai.
Padamkan dua baris pertama, kemudian laraskan lebar lajur tarikh dan anda selesai. Hasilnya adalah seperti berikut:
Kaedah jadual pangsi lebih mudah digunakan, tetapi terdapat lebih banyak langkah, manakala VBA mudah dikendalikan, tetapi terdapat banyak perkara yang perlu dipelajari. Anda boleh memilih untuk menggunakannya mengikut situasi sebenar anda Jika anda rasa ia bagus, sila suka!
Cadangan pembelajaran berkaitan: tutorial cemerlang
Atas ialah kandungan terperinci Perkongsian kemahiran Excel Praktikal: dua cara untuk membahagi lembaran kerja dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!