Note: The other languages of the website are Google-translated. Back to English

Bagaimana cara mengurutkan kolom secara otomatis berdasarkan nilai di Excel?

Misalnya, Anda memiliki tabel pembelian seperti gambar di bawah ini. Sekarang Anda ingin kolom Harga diurutkan secara otomatis ketika Anda memasukkan angka/harga baru di kolom ini, bagaimana cara mengatasinya? Di sini saya memperkenalkan makro VBA untuk membantu Anda mengurutkan kolom tertentu secara otomatis berdasarkan nilai di Excel.

Kolom urutkan otomatis berdasarkan nilai dengan VBA


Kolom urutkan otomatis berdasarkan nilai dengan VBA

Makro VBA ini akan mengurutkan semua data di kolom tertentu secara otomatis segera setelah Anda memasukkan data baru atau mengubah nilai di kolom di Excel.

1. Klik kanan nama sheet saat ini di Bilah Tab Lembar, lalu klik Lihat kode dari menu klik kanan.

2. Di kotak dialog pembukaan Microsoft Visual Basic for Application, tempel kode makro VBA berikut ke jendela pembuka.

VBA: Kolom Urutkan Otomatis di Excel

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub

Note:
1) Dalam kode vba di atas, B: B berarti akan otomatis mengurutkan Kolom B, B1 adalah sel pertama di Kolom B, B2 adalah sel kedua di Kolom B, dan Anda dapat mengubahnya berdasarkan kebutuhan Anda.
2) cuplikan Judul:=xlYa di baris ke-5 memberi tahu Excel bahwa rentang yang akan Anda urutkan memiliki header, sehingga baris pertama dari rentang tersebut tidak akan disertakan saat pengurutan. Jika tidak ada header, silakan ubah ke Judul:=xlNo; dan ubah Kunci1:=Rentang("B2") di baris ke-4 ke Kunci1:=Rentang("B1").

3. Lalu kembali ke lembar kerja, saat Anda memasukkan angka baru di kolom Harga atau mengubah harga yang ada, kolom Harga akan otomatis diurutkan dalam urutan menaik.

Note: Saat Anda memasukkan nomor baru di kolom Harga, Anda harus memasukkan nomor di sel kosong pertama di bawah angka asli. Jika ada sel kosong di antara angka yang baru dimasukkan dan angka asli serta sel kosong di antara angka asli, kolom ini tidak akan diurutkan secara otomatis.


Demo: Urutkan kolom secara otomatis berdasarkan nilai dengan VBA di Excel


Kutools untuk Excel mencakup lebih dari 300 alat praktis untuk Excel, gratis untuk dicoba tanpa batasan dalam 30 hari. Unduh dan Uji Coba Gratis Sekarang!

Urutkan dengan mudah berdasarkan frekuensi kejadian di Excel

Kutools untuk Excel Penyortiran Lanjutan utilitas mendukung pengurutan data berdasarkan panjang teks, nama belakang, nilai absolut, frekuensi, dll. di Excel dengan cepat. Uji Coba Gratis Fitur Lengkap

-hari!
urutkan iklan berdasarkan frekuensi 2


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • 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 tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... 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 ...
  • 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...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2021 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap Uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • 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
Urutkan komentar berdasarkan
komentar (36)
Rated 5 dari 5 · peringkat 1
Komentar ini diminimalkan oleh moderator di situs
Cantik, cantik, cantik, terima kasih banyak. Tidak akan pernah bisa mengetahui ini sendiri dan saya sangat menghargai Anda berbagi ini!!!
Komentar ini diminimalkan oleh moderator di situs
Saya mencari penyortiran otomatis yang sama saat memasukkan data untuk bagan excel saya. Sulit untuk memahami detail dari apa yang telah Anda masukkan di sini sebagai contoh. Saya akan sangat menghargai jika seseorang di sini yang melakukan contoh di atas dapat membantu saya menyortir lembar saya sehingga melakukan hal yang sama. Saya memiliki grafik F1 yang menunjukkan pemenang, dan poin, dan ingin agar ketika poin dimasukkan di sebelah nama pembalap untuk balapan tertentu untuk total di sisi kanan lembar menjadi dalam urutan numerik, TANPA MENCAMPURKAN HASIL terhadap driver lain. Sepertinya saya tidak dapat menempatkan pada pesan ini lampiran bagan saya jadi jika Anda dapat mengubah bagan saya untuk saya sehingga ini akan terjadi, saya ingin mendengar dari Anda. Saya dapat mengirimkannya melalui email kepada Anda. Jika Anda dapat membantu dengan ini, silakan kirim email kepada saya di lordmarshall2013@gmail.com dan di baris SUBJECT, tulis bantuan F1 Excel dan akan membalas dengan bagan terlampir untuk Anda. Terima kasih sebelumnya atas bantuan yang dapat Anda berikan.
Komentar ini diminimalkan oleh moderator di situs
Ini HEBAT. Ini sangat membantu.
Komentar ini diminimalkan oleh moderator di situs
Katakanlah saya perlu mengurutkan kolom "C" dan kolom "D" secara otomatis. Bagaimana cara mengubah kode untuk mengurutkan kedua kolom?
Komentar ini diminimalkan oleh moderator di situs
Halo. Trik yang luar biasa, terima kasih banyak. Di file saya, saya memiliki info penting yang perlu saya lihat di sel A1 dan A2. Oleh karena itu, saya telah menstabilkan semua sel dan nilai saya mulai dari A3 hingga A500. Ketika saya menjalankan vba ini, info saya di sel A2 masuk ke sel 501. Bagaimana saya bisa membuatnya mulai dari sel A3? Terima kasih sebelumnya!
Komentar ini diminimalkan oleh moderator di situs
Baris pertama dikecualikan untuk penyortiran
Komentar ini diminimalkan oleh moderator di situs
Saya memiliki masalah yang sama dan saya menemukan alasannya. Pergi ke baris 5, (Order1:=xlAscending, Header:=xlYes, _). Script memberi tahu Excel bahwa sel pertama adalah header, dan karena itu akan mengabaikannya saat penyortiran berlangsung. Jika Anda ingin memasukkan baris pertama, ubah ke baris berikut:


Order1:=xlMeningkat, Header:=xlNo, _
Komentar ini diminimalkan oleh moderator di situs
Menyalin kode persis ke lembar saya di VBA. Tapi tidak ada yang terjadi apakah saya melewatkan sesuatu? Melakukan persis apa yang Anda lakukan.
Komentar ini diminimalkan oleh moderator di situs
TERIMA KASIH!!!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih untuk kode dan logika. Logika di atas tidak berfungsi ketika kita melihat rentang sel yang lebih besar seperti Intersect(Target, Range("B:B,C:C,D:D")). Saya ingin jika ada perubahan di sel mana pun di Kolom (B, C atau D), resoring perlu dilakukan.
Komentar ini diminimalkan oleh moderator di situs
Adakah yang tahu cara mengatur set no serial otomatis. untuk lembar kerja excel. Nomor tersebut harus mengecualikan semua judul dan sub judul, dan harus mengatur ulang secara otomatis setelah menambahkan atau menghapus baris.
Komentar ini diminimalkan oleh moderator di situs
Hai,
Kutools for Excel menyediakan fitur Sisipkan Nomor Urutan, yang dapat memasukkan nilai unik dan berurutan tidak peduli berapa kali Anda memasukkan.
Misalnya, pertama kali Anda memasukkan 1,2,3,4;
Kali kedua fitur ini akan menyisipkan 5,6,7,8,9,10
Ketiga kalinya fitur ini akan menyisipkan 11,12,…
Komentar ini diminimalkan oleh moderator di situs
Meskipun ini adalah kode yang fantastis, saya ingin tahu apakah ada yang bisa membantu saya mengubahnya dari naik ke turun? Dengan kata lain, saya mencarinya menjadi angka terbesar di atas dengan angka terendah di bawah
Komentar ini diminimalkan oleh moderator di situs
Ubah (Order1:=xlAscending, Header:=xlYes, ) Menjadi (Order1:=xlDescending, Header:=xlYes, )
Komentar ini diminimalkan oleh moderator di situs
Halo, saya pengguna Excel menengah. Saya bertanya-tanya apakah seseorang dapat membantu mengarahkan saya untuk apa yang saya coba capai. Inilah yang saya coba lakukan: Sortir Otomatis dengan Pesanan Kustom.

Sedikit tentang spreadsheet saya: Saya memiliki satu lembar (bernama: Sheet1) yang mencantumkan 16 kolom (A hingga P) dan saat ini 19 baris (jumlah ini akan bertambah seiring semakin banyak data yang dimasukkan). Di kolom terakhir (kolom P) semua sel memiliki menu drop-down opsi (terletak dan ditarik dari lembar dua (bernama "BackEnd").Pilihan drop-down diberi kode warna (menggunakan aturan pemformatan bersyarat).

Apa yang ingin saya lakukan: Saat pengguna memasukkan data di baris baru, segera setelah mereka selesai memilih opsi dari menu tarik-turun di kolom P, Excel akan mengurutkan baris baru secara otomatis ke urutan tertentu. Saya telah dapat membuat kode VBA untuk penyortiran otomatis dalam urutan menaik dan menurun, tetapi saya belum dapat membuat kode untuk penyortiran otomatis data dalam urutan tertentu. Urutan yang saya ingin agar datanya diurutkan adalah:

Tidak responsif
Tidak Tertarik
Tertarik
Pra-Penyaringan Tidak Memenuhi Syarat:
Memenuhi Kualifikasi Sebelumnya
aplikasi ditunda
Aplikasi Disetujui
Penilaian Awal:
Lingkup Pekerjaan:
Perbaikan Rumah Sedang Berlangsung
Tertahan:
Menyelesaikan
Lain:

Apakah ini mungkin? Bantuan apa pun dihargai! Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Hai,

Bagaimana saya bisa memulai makro ini setelah saya mengisi semua data ke kolom tertentu?
Saya ingin makro daftar dimulai setelah saya mengisi kotak kosong. Karena ketika saya menggunakan ini, itu mengubah tempat secara tiba-tiba.
Saya perlu memulai makro ini setelah saya mengisi data terakhir dari kolom itu (tepatnya 20 data)
Komentar ini diminimalkan oleh moderator di situs
Bolehkah saya bertanya apakah ada cara untuk menggunakan kode VBA ini jika ada rumus di kolom yang ingin Anda sortir utama.

yaitu jika A2 = jumlah dari f2 + g2+ h2 dan kolom A perlu diurutkan pada jumlah total? (Saya tidak bisa membuat VBA berfungsi jika formula ada di dalam sel)

Bantuan apa pun akan sangat dihargai sebagai harapan untuk menggunakannya untuk balapan peringkat ketika pemenangnya adalah yang memiliki total tiga acara balap.

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
saya juga ingin tahu solusi untuk masalah Paula. tolong sebarkan
Komentar ini diminimalkan oleh moderator di situs
Bagi saya itu berhasil mengubah baris ini
Jika Tidak Berpotongan(Target, Rentang("B:B")) Tidak Berarti
Saya pikir kuncinya adalah mengatur Rentang Target ke bidang yang berubah, dan tetap mengurutkan data dengan hasil yang dijumlahkan.
Komentar ini diminimalkan oleh moderator di situs
Ini berfungsi untuk saya ketika ada rumus di sel:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("B1").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:= xlAtasKeBottom
End Sub
Komentar ini diminimalkan oleh moderator di situs
Ini sangat membantu tetapi saya memiliki 2 baris tajuk (baris 1 dan 2) dan ketika saya menjalankan VBA dibutuhkan baris kedua ke bagian bawah tanggal
bagaimana cara menghentikan ini?
Komentar ini diminimalkan oleh moderator di situs
Hai kerry,

Ada VBA yang secara otomatis akan mengurutkan sel di Kolom dengan mengabaikan dua sel header pertama.

Sub Lembar Kerja Pribadi_Rubah (Rentang Target As ByVal)
Redupkan xIntRC Sebagai Integer
Redupkan xURg Sebagai Rentang
On Error Resume Next
Jika Tidak Berpotongan(Target, Rentang("B:B")) Tidak Berarti
Jika Tidak Berpotongan(Target, Rentang("B1:B2")) Tidak Ada Lalu Keluar Sub
Setel xURg = ActiveSheet.UsedRange
xIntRC = xURg.Rows.hitung
Rentang("B2:B" & xIntRC).Urutkan Kunci1:=Rentang("B3"), _
Order1:=xlMeningkat, Header:=xlYa, _
OrderCustom:=1, MatchCase:=False, _
Orientasi:=xlTopToBottom
End If
End Sub
Komentar ini diminimalkan oleh moderator di situs
Halo, saya tidak beruntung dengan kode langsung di atas dari "kellytte" untuk menyortir sel di Kolom mengabaikan dua sel header pertama. Ada yang bisa bantu saya? Terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hithis kode memecahkan masalah saya. tetapi saya perlu mengurutkan kolom B & dengan ini Ubah saja kolom A, tidak semua . tolong bantu
Komentar ini diminimalkan oleh moderator di situs
Hai, ini mengatur seluruh baris tetapi saya memiliki beberapa tautan pada sel ke folder tertentu yang tertinggal setelah disortir.
Komentar ini diminimalkan oleh moderator di situs
Jadi ini tampaknya berfungsi ketika data dimasukkan secara manual tetapi tidak berfungsi ketika itu adalah tabel yang terisi kembali dari file lain .... apakah ada cara untuk melakukannya?
Komentar ini diminimalkan oleh moderator di situs
Luar biasa terima kasih!!!
Komentar ini diminimalkan oleh moderator di situs
Hai,
Ini sangat berguna.
Apakah ada cara untuk memperluas rumus untuk mencakup banyak kolom? Misalnya, untuk mengurutkan data berdasarkan nilai pertama, kolom B, lalu kolom C? Saya akan sangat menghargai solusi apa pun!
Komentar ini diminimalkan oleh moderator di situs
Hai,
Ini sangat berguna.
Apakah ada cara untuk memperluas rumus untuk mencakup banyak kolom? Misalnya, untuk mengurutkan data berdasarkan nilai pada kolom B pertama, lalu kolom C?
Saya akan sangat menghargai solusi apa pun!
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL