
Dengan tanpa ada maksud untuk merendahkan kualitas tutorial sejenis yang diulas dan yang sudah banyak beredar tersebut, terkadang beberapa dari mereka hanya sekedar copy-paste dari situs lain demi meningkatkan jumlah pengunjung sebanyak-banyaknya tanpa melakukan uji coba terlebih dahulu terhadap tutorial yang sedang mereka tulis atau bahas di website tersebut. Ini juga tidak membuktikan bahwa tulisan yang sedang anda baca saat ini memiliki kualitas yang lebih baik dari mereka. Akan tetapi, saya berusaha semaksimal mungkin agar apa yang saya tulis dan bahas di setiap tutorial excelive.com, untuk mudah dipahami dan tentunya ada manfaatnya bagi siapa saja yang sedang membaca - yang pada akhirnya bukan saya yang akan mengatakan bahwa situs ini lebih baik dari mereka, tetapi anda.
Tujuan awal dari apa yang akan saya bahas pada edisi kali ini berkaitan dengan efektifitas dalam memberikan garis pembatas atau yang lebih umum disebut dengan border pada lembar kerja agar bisa dilakukan secara cepat dan otomatis dibuat berdasarkan kriteria yang diinginkan oleh pengguna. Sekilas ketika kita mendengar kata-kata otomatis saat bekerja menggunakan Microsoft Excel, maka dalam pemahaman kita mungkin langsung menuju ke script kode VBA yang cukup kompleks. Tapi untuk kali ini, pemahaman tersebut tidak 100% benar, meskipun sebenarnya bisa saja dilakukan dengan script VBA. Tapi kita akan mencoba sesuatu yang lebih mudah dan sederhana terlebih dahulu, dan yang penting cocok dengan apa yang kita butuhkan.
Anda juga bisa belajar dan mengkombinasikan tutorial ini dengan tutorial lain yang sudah saya bahas sebelumnya, seperti :
Menjumlah setiap baris ke-n
Cara menentukan baris akhir dalam Lembar Kerja Excel
Menampilkan dan memberikan Ranking Berdasarkan kriteria
Sebelum mulai belajar membuat garis pembatas otomatis, saya memiliki data penjualan sebuah produk yang masih polos tanpa ada pembatas yang saya tulis di lembar kerja Microsoft Excel. Dan berikut tampilan data yang saya maksud :
Versi sederhana dari tutorial ini bisa dilakukan tanpa mengunakan Macro VBA, yakni dengan menggunakan fitur Conditional Formatting persis dengan apa yang sudah saya bahas di tutorial Memberi warna background yang berbeda di setiap sel, hanya saja untuk bagian penulisan formula, ganti dengan formula seperti gambar berikut :
Salah satu kelemahan menggunakan teknik ini adalah, garis pembatas yang dihasilkan tidak beraturan dan tentunya sangat menggangu dan mengurangi nilai keindahan dari sebuah tabel (gambar sebelah kanan).
Untuk mengatasi ketidakaturan garis pembatas yang dihasilkan dengan menggunakan fitur Conditional Formatting, saya menggunakan bantuan Macro VBA yang mana rumusnya saya adopsi dari rumus di atas. Untuk melakukan hal ini, silahkan ikuti langkah-langkah pengerjaan berikut :
- Buka jendela Microsoft Visual Basic Editor dan buat sebuah module baru
- Setelah berhasil membuat module baru, langkah selanjutnya adalah tulis baris kode berikut di dalamnya
Sub Pembatas() Dim a As Variant a = Application.WorksheetFunction.Match([F1], Range("A1:D1"), 0) Application.ScreenUpdating = False Range("A1:K100").Borders.LineStyle = xlNone For i = 1 To Range("A1").End(xlDown).Row If Cells(i, a) <> Cells(i + 1, a) Then With Range("A" & i & ":D" & i).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With Else With Range("A" & i & ":D" & i).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlHairline End With End If Next Application.ScreenUpdating = True End Sub
Penjelasan singkat kode di atas : a
Adalah sebuah nilai yang digunakan untuk menentukan indeks kolom yang sesuai dengan nilai yang ada di sel F1, sementara isi dari sel F1 dibuat menggunakan Data ValidationScreenUpdating = False
Baris kode ini bertujuan agar perubahan yang terjadi di layar tidak ditampakkan, sehingga dengan di set FALSE sebelum proses suatu prosedur maka akan menghilang tambahan waktu akibat proses screen updating. Setelah prosedur berakhir, screen updating di set kembali TRUERange("A1:C100").Borders.LineStyle = xlNone
Berfungsi untuk menghapus semua border yang terdapat di range A1 sampai dengan C100For i
Ini adalah fungsi looping untuk membaca mulai baris 1 hingga baris terakhir yang memiliki nilai di sepanjang kolom AIf Cells(i, [J1])...
Ini yang saya maksud dengan rumus yang saya adopsi dari Formula Excel, sementara a adalah sebuah indeks kolom yang saya gunakan untuk menentukan kriteria dalam menentukan garis pembatas.Range("A" & i & ":D" & i).Borders(xlEdgeBottom)
Digunakan untuk menentukan range yang akan diberi garis pembatas, dengan ketentuan yang ada di dalamnya.xlMedium
Membuat sebuah garis dengan ukuran mediumxlHairline
Membuat sebuah garis dengan ukuran tipis
- Langkah berikutnya, saya menggunakan bantuan fitur Data Validation yang saya difungsikan untuk memilih kriteria garis pembatas, di mana caranya adalah sebagai berikut :
- Sebagai contoh pilih sel F1 kemudian pilih tab menu Data dan pilih Data Validation
(jika ingin mengganti alamat sel J1, maka pastikan baris kode Macro VBA sesuai dengan sel yang sudah diganti) - Dijendela Data Validation, pilih kategori List yang terdapat di tab setting, sementara untuk source : pilih range A1 hingga C1 dan akhiri dengan tombol OK
- Sebagai contoh pilih sel F1 kemudian pilih tab menu Data dan pilih Data Validation
- Untuk langkah ini sifatnya optional karena tujuannya hanyalah untuk mempermudah dalam melihat hasilnya saja, yakni menyisipkan sebuah tombol ActiveX Control yang bisa anda akses melalui menu Developer dan menempatkannya ke dalam lembar kerja Microsoft Excel, sementara untuk baris kode dari tombol ini, bisa anda gunakan script seperti ini
Call Pembatas

Akhirnya kita sudah sampai dipenghujung tutorial untuk edisi membuat garis pembatas secara otomatis berdasarkan kriteria tertentu. Mudah-mudahan tutorial ini ada manfaatnya, dan bisa menjadikan situs ini menjadi salah satu parter Microsoft Excel yang terbaik yang selalu menemani anda.
Tutorial ini memuat Macro VBA, jadi pastikan hasil akhir dari tutorial ini disimpan menggunakan format Excel Macro-Enable Workbook atau Excel Binary Workbook
.xlsm
.xlsb
Incoming Search Terms
Cara Membuat Border pada Tabel di MS Excel Alternatif membuat bingkai secara cepat pada sebuah tabel Excel
Membuat border dengan script Macro VBA
Belajar membuat dan mendesain Border pada Microsoft excel
Membuat border dengan script Macro VBA
Memilih kriteria menggunakan fitur Data Validation
Cara melewati atau menghilangkan tambahan waktu akibat proses screen updating di VBA Excel
Terimakasih sudah membaca
Tutorial: Bagaimana Membuat Border atau Pembatas Secara Otomatis Sesuai dengan Kriteria isi Data Sel? Ini Caranya
Labels: Macro VBA - Author: excelive
Tutorial: Bagaimana Membuat Border atau Pembatas Secara Otomatis Sesuai dengan Kriteria isi Data Sel? Ini Caranya
Labels: Macro VBA - Author: excelive
Masih mau belajar lagi !
Yuk, klik tautan berikut ini :