Isi kandungan
Tutorial menunjukkan cara anda boleh mengisih lembaran kerja Excel dengan cepat dalam susunan abjad menggunakan kod VBA dan alat Pengurus Buku Kerja.
Microsoft Excel menyediakan beberapa cara yang cepat dan mudah untuk mengatur lajur atau baris dalam susunan abjad. Tetapi terdapat hanya satu kaedah untuk menyusun semula lembaran kerja dalam Excel - seretnya ke kedudukan yang dikehendaki pada bar tab helaian. Apabila bercakap tentang abjad tab dalam buku kerja yang sangat besar, ini mungkin cara yang panjang dan salah. Mencari alternatif yang menjimatkan masa? Terdapat hanya dua: kod VBA atau alat pihak ketiga.
Cara untuk menyusun abjad tab dalam Excel dengan VBA
Di bawah anda akan menemui tiga contoh kod VBA untuk mengisih Excel helaian menaik, menurun dan dalam mana-mana arah berdasarkan pilihan pengguna.
Menyata bahawa anda mempunyai sedikit pengalaman dengan VBA, kami hanya akan menggariskan langkah asas untuk menambah makro pada lembaran kerja anda:
- Dalam buku kerja Excel anda, tekan Alt + F11 untuk membuka Editor Visual Basic.
- Pada anak tetingkap kiri, klik kanan Buku Kerja Ini dan kemudian klik Sisipkan > Modul .
- Tampal kod VBA dalam tetingkap Kod.
- Tekan F5 untuk menjalankan makro.
Untuk arahan langkah demi langkah yang terperinci, sila lihat Cara memasukkan dan menjalankan kod VBA dalam Excel.
Petua. Jika anda ingin menyimpan makro untuk kegunaan selanjutnya, pastikan anda menyimpan fail anda sebagai buku kerja yang didayakan makro Excel (.xlsm).
Sebagai alternatif, anda boleh memuat turun contoh buku kerja Tab Alphabetize Excel kami, dayakan kandungan jika digesa dan jalankan makro yang dikehendaki terus dari sana. Buku kerja mengandungi makro berikut:
- TabAscending - isih helaian mengikut abjad dari A hingga Z.
- TabDescending - susun helaian dalam terbalik tertib, dari Z hingga A.
- AlphabetizeTabs - mengisih tab helaian dalam kedua-dua arah, menaik atau menurun.
Dengan buku kerja sampel dimuat turun dan dibuka dalam Excel anda, buka buku kerja anda sendiri di mana anda mahu abjadkan tab, tekan Alt + F8 , pilih makro yang diingini dan klik Jalankan .
Isih tab Excel mengikut abjad dari A hingga Z
Makro kecil ini menyusun helaian dalam buku kerja semasa dalam urutan abjad angka menaik , pertama helaian kerja yang namanya bermula dengan nombor, kemudian helaian dari A hingga Z.
Sub TabsAscending() For i = 1 Kepada Permohonan.Helaian.Kira Untuk j = 1 Kepada Permohonan.Helaian.Kira - 1 Jika UCase$(Application.Helaian(j).Nama) > UCase$(Application.Sheets(j + 1).Name) Kemudian Sheets(j).Move after:=Helaian(j + 1) Tamat Jika Seterusnya Seterusnya MsgBox "Tab telah diisih dari A hingga Z." End SubSusun tab Excel dari Z ke A
Jika anda ingin mengisih helaian anda dalam tertib abjad angka menurun (Z ke A, kemudian helaian dengan nama angka), kemudian gunakan kod berikut:
Sub TabDescending() Untuk i = 1 KepadaPermohonan.Helaian.Kiraan Untuk j = 1 Kepada Permohonan.Helaian.Kiraan - 1 Jika UCase$(Application.Helaian(j).Nama) < UCase$(Application.Sheets(j + 1).Name) Kemudian Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "Tab telah diisih dari Z ke A. " End SubTab abjad menaik atau menurun
Makro ini membolehkan pengguna anda memutuskan cara mengisih lembaran kerja dalam buku kerja tertentu, mengikut abjad dari A hingga Z atau dalam susunan terbalik.
Sejak kotak dialog standard (MsgBox) dalam Excel VBA hanya membenarkan memilih daripada segelintir butang yang dipratentukan, kami akan mencipta borang kami sendiri (UserForm) dengan tiga butang tersuai: A hingga Z , Z hingga A dan Batal .
Untuk ini, buka Visual Basic Editor, klik kanan This Workbook dan klik Insert > Borang Pengguna . Namakan borang anda SortOrderFrom dan tambahkan 4 kawalan padanya: label dan tiga butang:
Seterusnya, tekan F7 (atau klik dua kali pada borang ) untuk membuka tetingkap Kod dan tampal kod di bawah di sana. Kod memintas klik butang dan memberikan tag unik kepada setiap butang:
Butang Sub Perintah Peribadi1_Klik() Me.Tag = 1 Saya. () Me.Tag = 0 Me.Hide End SubBergantung pada sama ada pengguna mengklik butang A to Z atau Z to A pada borang anda, susun tab dalamsusunan abjad menaik (dipilih secara lalai) atau susunan abjad menurun; atau tutup borang dan tidak berbuat apa-apa sekiranya Batal . Ini dilakukan dengan kod VBA berikut, yang anda masukkan dengan cara biasa melalui Sisipkan > Modul .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Kemudian Keluar Sub Untuk x = 1 Ke Permohonan.Helaian.Kira Untuk y = 1 Ke Permohonan.Helaian.Kira - 1 Jika Susun Isih = 1 Kemudian Jika UCase$(Application.Helaian(y).Nama) > UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Pindahkan selepas:=Helaian(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name) < UCase$(Application.Helaian(y + 1).Nama) Kemudian Helaian(y).Pindah selepas:=Helaian(y + 1) Tamat Jika Tamat Jika Seterusnya Seterusnya Tamat Sub Fungsi showUserForm() As Integer showUserForm = 0 Muatkan SortOrderForm SortOrderForm .Tunjukkan (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End FunctionJika anda belum begitu selesa dengan VBA, anda boleh memuat turun Contoh Buku Kerja kami untuk Menghurufkan Tab, bukanya dalam Excel anda bersama fail anda sendiri di tempat yang anda mahu untuk mengisih tab dan menjalankan makro AlphabetizeTabs daripada buku kerja anda:
Pilih susunan isihan pilihan, katakan, A hingga Z , dan perhatikan hasilnya:
Petua. Dengan VBA, anda juga boleh membuat salinan lembaran kerja Excel anda. Kod tersedia di sini: Bagaimana untukhelaian pendua dalam Excel dengan VBA.
Cara mengisih tab Excel mengikut abjad dengan Ultimate Suite
Pengguna Ultimate Suite untuk Excel kami tidak perlu bermain-main dengan VBA - mereka mempunyai pelbagai -Pengurus Buku Kerja berfungsi yang mereka gunakan:
Dengan alat ini ditambahkan pada reben Excel anda, tab abjad dilakukan dengan satu klik butang, tepat seperti yang sepatutnya!
Jika anda ingin tahu untuk meneroka ini dan 70+ lagi alatan profesional untuk Excel, versi percubaan Ultimate Suite kami tersedia untuk dimuat turun di sini.
Saya berterima kasih anda kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!