Akhirnya dia “menantang”-ku. “3 menit!..” katanya. Tenang saja,… juragan optimis nih. Flowchart-nya sudah langsung ter-desain dengan rapi di kepala.
Akhirnya dengan sekali-dua kali trial-error, akhirnya jadilah kode berikut:
Sub sopbuntut()
i = 2 'Pembacaan data dimulai baris ke 2
Do
x = ActiveSheet.Cells(i, 1).Value
If x = "0" Then
ActiveSheet.Rows(i).Delete
Else
i = i + 1
End If
Loop Until ActiveSheet.Cells(i, 1).Value = ""
End Sub
Bagaimana cara kerjanya, cara bikinnya, dan cara pakainya? Ini dia penjelasannya.
Misalnya kita punya data seperti gambar di bawah ini. Untuk contoh kasus, juragan cuma tampilkan beberapa baris data saja.
Kita ingin melenyapkan baris-baris yang FX, FY, dan FZ-nya bernilai nol, karena mungkin itu agak mengganggu.
Sub sopbuntut()
, dan baris End sub
. Artinya, di situlah anda boleh menuliskan kode sesuka hati anda.i = 2
. Ini adalah inisialisasi. Sesuai dari tabel di atas, data mulai dibaca pada baris kedua. Kenapa bukan baris pertama? Karena baris pertama itu baris judul! Kalau misalnya datanya dimulai pada baris ketiga, berarti i=3
. Nah, tanda petik tunggal di Visual Basic menandakan sebuah komentar. Apapun yang ada setelah tanda petik ‘ (dalam satu baris tentunya), tidak Post akan dieksekusi oleh VB. Oiya, VB itu mengeksekusi perintah baris per baris. Jadi, sebuah pernyataan sebisa mungkin harus ditulis dalam satu baris. Jika panjang, sebaiknya disingkat saja.Do
. Do
adalah bentuk perulangan. Kali ini kita menggunakan format Do... Loop Until ...
VB akan mengeksekusi semua perintah di dalam Do... Loop
, sampai akhirnya tercapai kondisi akhir yaitu isi sel yang ditunjuk sama dengan kosong alias null, atau ditandai dengan “”.x = ActiveSheet.Cells(i, 1).Value
. ActiveSheet
adalah sheet yang aktif. Macro harus dijalankan pada sheet aktif yang tepat, yaitu sheet di mana tabel data berada, misalnya Sheet1, Sheet2, dll. Cells(i,1)
merujuk kepada sel baris ke-i, kolom ke 1 (yaitu kolom FX). Pada saat inisialisasi, nilai i sama dengan 2, jadi Cells(i,1)
merujuk kepada sel A2 (baris-2, kolom-1). Sementara parameter Value menunjukkan kita akan mengambil nilai atau isi dari sel A2 tersebut. Nilai itu dimasukkan ke variabel x
.ActiveSheet.Rows(i).Delete
. Setelah baris dihapus, apa yang terjadi? Ini urutannya :if x=0
, dan mengecek kondisi Loop, apakah ActiveSheet.Cells(i,1)
isinya kosong atau tidak. Kalau kosong, Loop dihentikan. Kalau tidak, ulang lagi dari baris ketiga.i+1
.ActiveSheet.Cells(i,1)
tidak ada isinya alias = “”.Bagaimana cara menjalankannya? Kembali lagi ke langkah #1 di atas. Tekan tombol Alt + F8. Di situ macro sopbuntut telah nongkrong dengan gagahnya. Tinggal nunggu dipilih, dan klik tombol Run.
Hasil akhirnya bagaimana? Kurang lebih seperti gambar di bawah.
nb : sebenarnya ada cara lain menyelesaikan masalah tersebut tanpa menggunakan macro. Excel sendiri menyediakan tools tersebut. Yaitu melalui menu Data -> Filter -> Auto Filter. Kemudian pilih kondisinya, yaitu cells doesn’t equal “0”. Kemudian select hasilnya, copy dan paste di sheet lain. ?
Kali ini kita coba iseng bikin kuis dengan tema beton bertulang. Kuis beton bertulang ini…
Buat pengguna software buatan CSI (Computer & Strcuture Inc) khususnya SAP2000, kadang agak "kecewa" sewaktu…
Tips Karir Agar Cepat Dapat Kerja dan Terapkan Ilmu! Halo, fresh graduates teknik sipil! 🎓…
Membuat denah struktur dari gambar denah arsitektur menggunakan model AI bukan hal mustahil, bahkan teknologi…
SAP2000 versi 25 sebenarnya sudah rilis sejak 2023 yang lalu, dan hingga saat ini sudah…
Calcpad adalah salah satu aplikasi online yang berisi spreadsheet atau catatan kalkulasi engineering untuk beberapa…
View Comments
Salam Kenal Mas...
Mas saya mau tanya, saya dapat software download juga di internet. file dalam bentuk excell mas, tp kok gak bisa jalan ya mas.. softwarenya kayaknya sih macro/Spreadsheet gitu...
bisa bantuin gak mas, supaya saya bisa input datanya trus bisa di running...
makasih ya mas...
salam kenal,
klo mau menghapus data, dengan kriteria "date/bulan" tapi tabelnya ga standard seperti biasa lazimnya (mksdnya ada baris2 yg kosong/space baris) gimana ya.. help ya.. soalnya tiap bulan aq hrs ngapusin data2 bulan sebelumnya sampai menjadi kosong lagi, lama bgt kallee... thx b'4
trimakasih ilmunya....... saya orang baru gbung, alias baru belajar......... sekalian minta sarannya biar lebih maju................. pokoknya trimakasih
@Kholid, Trima kasih.
Biar bisa menghitung metoda cross dengan cepat, ya banyak-banyak latihan. :) Jujur saja, metode cross itu hampir tidak tersentuh di dunia praktisi. Makanya kapabilitas kami menggunakan metode itu sudah menurun, harus buka-buka literatur lagi. Tapi, untuk bentuk turunannya misalnya metode Moment Distribution, itu masih bisa dipake untuk analisis balok menerus.
Kunci metode Cross dan Moment Distribusi adalah Jepit-Lepas-Cross, yang diulang-ulang terus sampai puas.. :)
Bung Juragan
Thanks Buat ilmunya ... semoga sukses slalu ...
dan gimana caranya supaya cepat menghitung dengan metode cross yang rumit itu....?
bisa ditambahkan :
Application.ScreenUpdating = False
supaya penghapusan baris tidak terlihat
Bung Juragan..
thanks bagt atas ilmu2nya... smoga bs bermanfaat buat kitasemua..
dan bisa ditambah lg program2 free lainnya.. :)
GBU.. pizzz..