Akibat Pandemi Covid19 atau Corona, Pemerintah Indonesia sangat menyarankan pekerja - pekerja untuk bekerja dari rumah atau biasa disebut WFH (work from home) tak terkecuali gue, yang saat itu mulai kerja dari rumah kira kira pertengahan bulan Februari 2020 sampai tulisan ini dimuat gue pun masih bekerja di rumah, mudah mudahan pandemi ini segera berakhir dan kita bisa menjalankan kehidupan normal kembali. Aamiin.
Jarak dan tidak diperbolehkannya kita bertemu satu sama lain, membuat semua pekerjaan harus fleksibel mengikuti aturan tersebut. Di kantor gue ada arisan yang baru jalan, dan ketentuan arisan tersebut adalah setiap yang menang arisan harus ngocok untuk pemenang arisan selanjutnya, maka tercetus ide gue buat bikin kocokan arisan dengan macro excel.
Daripada ilmu ini gue simpen sendiri, maka gue akan share ke temen temen yang baca blog ini. kuy!
1. Pertama buat dulu kolom - kolom berikut ini ya
Agar mempermudah, coba samakan dulu saja ya antar kolomnya supaya sama dengan yang gue buat. Jika sudah jadi nanti tinggal disesuaikan.
2. Saatnya koding Macro, jangan pusing dulu ya. Nanti gue jabarin :)
Shortcutnya Alt+F11, atau bisa ke menu View>Macro>View Macro dan Edit
Setelah di tampilan Macro, di pojok kiri tulisan "VBAProject (Book1)" klik kanan dan pilih insert>Module
setelah itu, copy pastekan coding dibawah ini
Sub random_num()
'Initialize the random number generator
'=> Randomize: add this before you call the Rnd function to obtain completely random values
Randomize
'Random whole number between 1 and 50:
random_number = Int(13 * Rnd) + 1
SAL = Application.WorksheetFunction.VLookup(random_number, Sheet1.Range("A1:B19"), 2, False)
MsgBox "Kira kira siapa ya", vbInformation, "Menang Arisan"
If Application.WorksheetFunction.VLookup(random_number, Sheet1.Range("A1:J19"), 10, False) = "Sudah Dapat" Then
MsgBox "Ternyata!! Oh Ternyata!!" & vbNewLine & vbNewLine & SAL & vbNewLine & vbNewLine & "Sudah dapet, Kocok lagi kuy", vbInformation, "Menang Arisan"
Else
MsgBox "Selamat kepada!!!" & vbNewLine & vbNewLine & SAL & vbNewLine & vbNewLine & "Jangan lupa makan makannya :p", vbInformation, "Menang Arisan"
Range("J" & random_number + 6).Select
ActiveCell.FormulaR1C1 = "Sudah Dapat"
End If
End Sub
Sebetulnya tahap ini udah selesai, tinggal mempercantik tampilan dan sesuaikan dengan excel (point 1). Untuk menyesuaikan point 1, ada beberapa yang mesti diubah pada coding diatas, mari kita jabarkan :
a) Berhubung gue ada 13 partisipan, maka pada coding ini gue tulis
random_number = Int(13 * Rnd) + 1
Mohon disesuikan dengan partisipannya ya, btw fungsi ini sudah ada di excel jadi gue hanya manggil fungsi ini saja. Jangan lupa untuk mengubah ini juga ya, karena partisipan gue ada 13 dan berakhir di baris 19
Maka ubah 2 coding dibawah
SAL = Application.WorksheetFunction.VLookup(random_number, Sheet1.Range("A1:B19"), 2, False)
Dan juga coding dibawah ini
If Application.WorksheetFunction.VLookup(random_number, Sheet1.Range("A1:J19"), 10, False) = "Sudah Dapat" Then
Jika sudah disesuaikan mari kita lanjut untuk mempercantik tampilan excel dengan membuat tombol "Kocok Arisan", dengan klik Insert>Shapes>Rectangle
Setelah jadi klik kanan Shapes tersebut dan klik "Edit Text" dan silakan disesuaikan.
Setelah itu klik kanan pada Shapes yang telah disesuaikan, klik "Assign Macro.." lalu pilih random_num dan klik "ok".
Biar tambah kece lagi, klik kolom A7 dan ke menu Home lalu klik Conditional Formating>New Rules>Use a formula to determine which cell to format, isi dengan ini "=$J7="Sudah dapat"" dan klik format>fill>pilih warna sesuai selera kamu dan klik ok.
Setelah itu klik kolom A7 dan klik Format Painter di menu home lalu copy ke B7 sampai J7
Jangan lupa untuk copy kebawah juga ya, dengan cara klik kolom A7 sampai J7 klik Format Painter di menu home lalu copy ke A8 sampai J19.
Jadi fungsi Conditional Formating tersebut adalah ketika partisipan sudah dapet akan keluar warna yang kita pilih tadi .
Setelah selesai jangan lupa di save dengan format Excel Macro
Sekiranya tutorialnya sampe sini dulu ya, jika ada pertanyaan silakan tinggalkan pesan dibawah.
Semoga tutorialnya bermanfaat :)
0 komentar:
Posting Komentar