VBA untuk Mengurutkan Kolom di Excel (4 Metode)

  • Bagikan Ini
Hugh West

Untuk mengurutkan di Excel dengan VBA , Anda harus menerapkan Range.Sort Dalam artikel ini, kami akan menunjukkan kepada Anda cara untuk mengurutkan kolom di Excel dengan Range.Sort metode VBA .

Unduh Buku Kerja

Anda bisa mengunduh buku kerja Excel latihan gratis dari sini.

Urutkan Kolom dengan VBA.xlsm

Metode Range.Sort di Excel VBA

Range.Sort metode dalam VBA mengurutkan rentang nilai di Excel. di sini Rentang adalah variabel objek yang menentukan rentang sel yang kita inginkan mengurutkan dalam urutan naik atau turun.

Di bawah ini adalah parameter-parameter yang perlu Anda ketahui saat bekerja dengan metode ini.

Parameter Wajib/ Opsional Tipe Data Deskripsi
Kunci Opsional Varian Menentukan range atau kolom yang nilainya akan diurutkan.
Pesanan Opsional XlSortOrder Menentukan urutan penyortiran yang akan dilakukan.
  • xlAscending = Untuk mengurutkan dalam urutan menaik.
  • xlMenurun = Untuk mengurutkan dalam urutan menurun.
Header Opsional XlYesNoGuess Menentukan apakah baris pertama berisi header atau tidak.
  • xlTidak = Ketika kolom tidak memiliki header; Nilai default.
  • xlYa = Apabila kolom-kolom memiliki tajuk.
  • xlGuess = Untuk membiarkan Excel menentukan header.

4 Metode dalam Menerapkan VBA untuk Mengurutkan Kolom di Excel

Dalam bagian ini, Anda akan mengetahui cara mengurutkan satu kolom dengan dan tanpa header , beberapa kolom dengan dan tanpa header dan bagaimana cara mengurutkan hanya dengan mengklik dua kali tajuk dalam kolom di Excel.

1. Sematkan VBA untuk Mengurutkan Kolom Tunggal tanpa Header di Excel

Jika Anda ingin mengurutkan satu kolom di lembar kerja Excel Anda dengan VBA kemudian ikuti langkah-langkah di bawah ini.

Ini adalah kolom kita yang akan kita sortir dengan VBA kode.

Langkah-langkah:

  • Tekan Alt + F11 pada keyboard Anda atau buka tab Pengembang -> Visual Basic untuk membuka Editor Visual Basic .

  • Di jendela kode pop-up, dari bilah menu, klik Sisipkan -> Modul .

  • Salin kode berikut ini dan tempelkan ke jendela kode.
 Sub SortSingleColumnWithoutHeader() Range("B5:B15").Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo End Sub 

Kode Anda sekarang siap untuk dijalankan.

Di sini,

  • Key1:=Range ("B5") → Ditentukan B5 untuk membiarkan kode mengetahui kolom mana yang harus diurutkan.
  • Order1:=xlAscending → Menentukan urutan sebagai xlAscending untuk mengurutkan kolom dalam urutan menaik. Jika Anda ingin mengurutkan kolom dalam urutan menurun maka tulislah xlMenurun sebagai gantinya.
  • Header:= xlNo → Karena kolom kita tidak memiliki header apapun, maka kita menentukannya dengan xlTidak pilihan.

  • Tekan F5 pada keyboard Anda atau dari bilah menu pilih Jalankan -> Jalankan Sub/UserForm Anda juga bisa mengklik pada ikon Putar kecil di bilah sub-menu untuk menjalankan makro.

Anda akan melihat bahwa kolom Anda sekarang diurutkan dalam urutan menaik .

Perhatikan bahwa di sini kita telah mendefinisikan kisaran data secara manual sebagai Rentang ("B5:B15") .

Jika Anda ingin mengubah data dengan menambahkan atau menghapus nilai, Anda dapat mengimplementasikan kode berikut yang secara otomatis memperbarui berdasarkan sel dalam dataset.

 Sub SortSingleColumnWithoutHeader() Range("B5", Range("B5").End(xlDown)).Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlNo End Sub 

Perhatikan bahwa alih-alih mendefinisikan range secara manual dengan Rentang ("B5:B15") kami telah menulis, Rentang ( "B5", Range("B5"). Akhir(xlDown)) .

Ini akan mengurutkan kolom berdasarkan sel terakhir yang terisi secara berurutan di dalamnya. Jika ada sel kosong, data hanya akan dipertimbangkan hingga sel kosong pertama.

Baca Lebih Lanjut: VBA untuk Mengurutkan Tabel di Excel (4 Metode)

2. Masukkan Makro VBA untuk Mengurutkan Kolom Tunggal dengan Header

Pada bagian sebelumnya, kita memiliki dataset kolom tunggal tanpa header, tetapi sekarang kita memiliki a kolom dengan header .

Kali ini kita akan belajar cara menyortirnya dengan Makro VBA .

Langkah-langkah:

  • Cara yang sama seperti sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
  • Di jendela kode, salin kode berikut dan tempelkan.
 Sub SortSingleColumnWithHeader() Range("B5:B16").Sort Key1:=Range("B5"), Order1:=xlDescending, Header:=xlYes End Sub 

Kode Anda sekarang siap untuk dijalankan.

Di sini,

  • Key1:=Range ("B5") → Ditentukan B5 untuk membiarkan kode mengetahui kolom mana yang harus diurutkan.
  • Urutan1:=xlMenurun → Kali ini kita akan mengurutkan kolom dalam urutan menurun, jadi tentukan urutannya sebagai xlMenurun .
  • Header:= xlYes → Karena kolom kita memiliki header kali ini, maka kita menentukannya dengan xlYa pilihan.

  • Lari kode ini dan Anda akan mendapatkan kolom dengan header yang diurutkan dalam urutan menurun .

Baca selengkapnya: Cara Mengurutkan ListBox dengan VBA di Excel (Panduan Lengkap)

Bacaan serupa:

  • Cara Mengurutkan Alamat IP di Excel (6 Metode)
  • [Terpecahkan!] Pengurutan Excel Tidak Bekerja (2 Solusi)
  • Cara Menambahkan Tombol Urutkan di Excel (7 Metode)
  • Urutkan Rentang Menggunakan VBA di Excel (6 Contoh)
  • Cara Mengurutkan berdasarkan Nama di Excel (3 Contoh)

3. Makro VBA untuk Mengurutkan Beberapa Kolom dengan atau tanpa Header

Anda juga bisa mengurutkan beberapa kolom dalam dataset Anda dengan kode VBA.

Langkah-langkah:

  • Seperti yang ditunjukkan sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
  • Di jendela kode, salin kode berikut dan tempelkan.
 Sub SortMultipleColumnsWithHeaders() With ActiveSheet.Sort .SortFields.Add Key:=Range("B4"), Order:=xlAscending .SortFields.Add Key:=Range("C4"), Order:=xlAscending .SetRange Range("B4:D15") .Header = xlYes .Apply End With End Sub 

Kode Anda sekarang siap untuk dijalankan.

Di sini,

.SortFields.Add Key:=Range("B4"), Order:=xlAscending

.SortFields.Add Key:=Range("C4"), Order:=xlAscending

Dengan kedua garis ini, kita mendefinisikan Sel B4 dan C4 untuk menyortir dua kolom yang terkait dengan mereka di urutan menaik .

Karena kita memiliki header dalam dataset kita, maka kita menentukan Header = xlYes , jika tidak, kita akan menulis Header = xlNo di dalam kode.

  • Lari kode ini dan Anda akan mendapatkan kolom dengan tajuk diurutkan dalam urutan menaik .

4. Makro untuk Mengurutkan Data dengan Mengklik Ganda pada Header di Excel

Jika Anda ingin menyortir data dengan mudah hanya dengan mengklik dua kali pada header Anda bisa melakukannya dengan VBA kode.

Langkah-langkah:

  • Klik kanan pada tab lembar .
  • Dari daftar opsi yang muncul, klik Lihat Kode .
  • Jendela kode akan muncul, salin kode berikut dan tempelkan di sana.
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim iRange As Range Dim iCount As Integer iCount = Range("B4:D15").Columns.Count Cancel = False If Target.Row = 4 And Target.Column <= iCount Then Cancel = True Set iRange = Range(Target.Address) Range("B4:D15").Sort Key1:=iRange, Header:=xlYes End If End Sub 
  • Simpan kode.

  • Sekarang kembali ke lembar kerja yang diminati dan jika Anda klik dua kali pada tajuk Anda akan melihat kolom-kolom yang ditata ulang.

Baca Juga: Cara Mengurutkan dan Memfilter Data di Excel (Panduan Lengkap)

Hal-hal yang Perlu Diingat

  • Anda bisa membuat range bernama dan menggunakannya sebagai gantinya ketika Anda mengoperkan range referensi sel di dalam Sortir Misalnya, jika Anda ingin mengurutkan rentang A1:A10 , alih-alih meneruskannya setiap kali di dalam kode, Anda dapat membuat rentang bernama itu, seperti " SortRange " dan menggunakannya dengan Range.Sort metode seperti Rentang ("SortRange") .
  • Jika Anda tidak yakin apakah dataset Anda memiliki header atau tidak, Anda bisa membiarkan sistem menentukannya dengan menggunakan perintah xlGuess parameter.

Kesimpulan

Artikel ini menunjukkan kepada Anda cara mengurutkan kolom di Excel VBA Saya harap artikel ini sangat bermanfaat bagi Anda. Jangan ragu untuk bertanya jika Anda memiliki pertanyaan mengenai topik ini.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.