MsgBox dalam VBA adalah fungsi yang digunakan untuk menampilkan pesan dalam bentuk kotak dialog atau jendela pop-up pada pengguna. Pesan tersebut dapat berupa informasi, peringatan, atau permintaan konfirmasi dari pengguna.
Cara Menggunaan MsgBox
Secara umum, sintaks dari MsgBox adalah sebagai berikut:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
- prompt (wajib) adalah pesan atau teks yang akan ditampilkan pada kotak dialog. Prompt dapat berupa string atau ekspresi yang menghasilkan string.
- buttons (opsional) adalah nilai konstanta yang menentukan jenis tombol yang akan ditampilkan pada kotak dialog. Nilai konstanta ini dapat dikombinasikan untuk menampilkan beberapa tombol. Beberapa konstanta yang dapat digunakan adalah:
- vbOKOnly: Hanya menampilkan tombol OK. Konstanta ini adalah default.
- vbOKCancel: Menampilkan tombol OK dan Cancel.
- vbAbortRetryIgnore: Menampilkan tombol Abort, Retry, dan Ignore.
- vbYesNoCancel: Menampilkan tombol Ya, Tidak, dan Batal.
- vbYesNo: Menampilkan tombol Ya dan Tidak.
- vbRetryCancel: Menampilkan tombol Retry dan Cancel.
- title (opsional) adalah judul dari kotak dialog. Title dapat berupa string atau ekspresi yang menghasilkan string.
- helpfile (opsional) adalah nama file Bantuan yang terkait dengan kotak dialog.
- context (opsional) adalah nomor konteks dari topik bantuan yang terkait dengan kotak dialog.
Contoh dasar penggunaan MsgBox di VBA:
Sub Contoh_MsgBox() MsgBox "Hello World!" End Sub
Pada contoh di atas, jendela pop-up akan muncul dengan pesan "Hello World!".
Message Box Constants
Constant | Nilai | Keterangan |
---|---|---|
vbOKOnly | 0 | Hanya menampilkan tombol OK. |
vbOKCancel | 1 | Menampilkan tombol OK dan Cancel. |
vbAbortRetryIgnore | 2 | Menampilkan tombol Abort, Retry dan Ignore. |
vbYesNoCancel | 3 | Menampilkan tombol Yes, No, dan Cancel. |
vbYesNo | 4 | Menampilkan tombol Yes and No. |
vbRetryCancel | 5 | Menampilkan tombol Retry and Cancel. |
vbCritical | 16 | Menampilkan ikon Pesan Critical. |
vbQuestion | 32 | Menampilkan ikon Pesan Warning Query. |
vbExclamation | 48 | Menampilkan ikon Pesan Warning. |
vbInformation | 64 | Menampilkan ikon Pesan Information. |
vbDefaultButton1 | 0 | Tombol posisi pertama menjadi default. |
vbDefaultButton2 | 256 | Tombol posisi kedua menjadi default. |
vbDefaultButton3 | 512 | Tombol posisi ketiga menjadi default. |
vbDefaultButton4 | 768 | Tombol posisi keempat menjadi default. |
vbApplicationModal | 0 | Modal aplikasi. Pengguna harus menanggapi kotak pesan sebelum melanjutkan pekerjaan di aplikasi saat ini. |
vbSystemModal | 4096 | Modal sistem. Dalam hal ini semua aplikasi ditangguhkan sampai pengguna menanggapi kotak pesan. |
vbMsgBoxHelpButton | 16384 | Menambahkan tombol Bantuan ke kotak pesan |
VbMsgBoxSetForeground | 65536 | Menentukan jendela kotak pesan sebagai jendela latar depan. |
vbMsgBoxRight | 524288 | Teks rata kanan. |
vbMsgBoxRtlReading | 1048576 | Menentukan teks harus muncul sebagai bacaan kanan-ke-kiri pada sistem bahasa Ibrani dan Arab. |
Message Box Mengembalikan Constants
Constant | Nilai | Keterangan |
---|---|---|
vbOK | 1 | OK |
vbCancel | 2 | Cancel |
vbAbort | 3 | Abort |
vbRetry | 4 | Retry |
vbIgnore | 5 | Ignore |
vbYes | 6 | Yes |
vbNo | 7 | No |
MsgBox Yes No Syntax
Berikut Contoh sederhana pada MsgBox Yes No Prompt Type. Kita dapat menggunakan ini untuk menerima pengguna dalam kriteria tertentu. Dan memutuskan proses selanjutnya.
Sub Contoh_MsgBox_YesNo() If MsgBox("Apakah Anda ingin melihat Waktu saat ini", vbYesNo) = vbYes Then MsgBox Format(Now(), "HH:MM:SS AMPM"), vbInformation, "Waktu Saat Ini" End If End Sub
MsgBox Yes No If
Contoh berikut pada Msgbox Yes No If untuk menampilkan kotak pesan yang berbeda berdasarkan opsi yang dipilih. If then syntax membantu memilih prosedur sub berdasarkan kondisi tertentu.
Sub Contoh_MsgBox_YesNo_If() vbOption = MsgBox("Tekan Tombol Ya atau Tidak", vbYesNo) If vbOption = 6 Then MsgBox "Anda memilih Yes Option" ElseIf vbOption = 7 Then MsgBox "Anda memilih No Option" End If End Sub
MsgBox Yes No Cancel
Contoh di bawah pada Msgbox Yes No Cancel kembali untuk mengakses respon MsgBox. Ini akan membantu kita mengakses, menyimpan, dan memasukkan respons atau string msgbox dalam nilai variabel. Kita dapat menggunakan teks variabel dalam pemrograman lebih lanjut. Dalam MsgBox kita juga dapat menggunakan vbCr
untuk membagi teks kotak pesan menjadi baris baru atau menjadi beberapa baris.
Sub Contoh_MsgBox_YesNoCancel() Dim msgValue msgValue = MsgBox("Halo, Apakah Anda operator sekolah? Pilih:" _ & vbCr & "Yes: jika Anda operator sekolah" _ & vbCr & "No: jika Anda Bukan operator sekolah" _ & vbCr & "Cancel: jika Anda tidak akan melanjutkan" _ , vbYesNoCancel + vbQuestion) If msgValue = vbYes Then MsgBox "Salam satu data" ElseIf msgValue = vbNo Then MsgBox "Anda harus mengenal operator sekolah" ElseIf msgValue = vbCancel Then MsgBox "Baiklah, kembali lagi di lain waktu" End If End Sub
InputBox VBA
Kita dapat menggunakan fungsi InputBox di Excel VBA untuk meminta pengguna memasukkan nilai. Contoh kode sebagai berikut:
Sub Contoh_InputBox() Dim yakin As Variant Dim hasil As Integer hasil = 2 + 2 yakin = InputBox("Masukkan jumlah dari 2 + 2") If yakin = hasil Then MsgBox "Betul" ElseIf yakin = "" Then MsgBox "Anda harus menjawab" Contoh_InputBox Else MsgBox "Salah, jawaban yang benar adalah " & hasil, vbCritical End If End Sub
Kita menggunakan variabel pada "yakin" bertipe Variant di sini karena variabel Variant dapat menampung semua jenis nilai. Dengan cara ini pengguna dapat memasukkan teks, angka, dll. Karena contoh disini kita akan menebah penjumlahan maka "hasil" kita gunakan variabel Integer untuk menyimpan bilangan bulat sederhana.
Jika jawaban kita benar makan akan tampil kotak pesan "Betul". Jika jawaban kita kosong (tidak mengisi) maka akan tampil kotak pesan "Anda harus menjawab". Dan jika jawaban kita salah maka akan tampil kotak pesan "Salah, jawaban yang benar adalah 4"