Membuat kocokan arisan dengan macro excel

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 :)
Terus yi? - Membuat kocokan arisan dengan macro excel