Data yang ditampilkan oleh VBA Excel belum tentu memiliki format yang mudah dibaca. Misalnya, angka desimal muncul dengan banyak digit di belakang koma, tanggal ditampilkan mengikuti format sistem operasi, atau waktu tidak sesuai dengan standar yang diinginkan. Kondisi seperti ini sering dijumpai saat membuat laporan, dashboard, maupun aplikasi berbasis VBA.
Untungnya, VBA menyediakan fungsi Format yang memungkinkan kita mengubah tampilan data tanpa mengubah nilai aslinya. Dengan satu fungsi ini, kita dapat memformat angka, mata uang, persentase, tanggal, waktu, hingga teks agar lebih rapi dan profesional.
Jika kita sering membuat laporan otomatis atau aplikasi Excel, fungsi Format adalah salah satu fungsi yang wajib dikuasai.
Sekilas Tentang Fungsi Format
Sederhananya, fungsi Format bertugas mengubah cara data ditampilkan, bukan mengubah nilai data itu sendiri.
Sebagai contoh, angka berikut:
1250000
dapat ditampilkan menjadi:
1.250.000
atau:
Rp1.250.000,00
Nilainya tetap sama, hanya tampilannya yang berbeda.
Hal yang sama juga berlaku untuk data tanggal, waktu, maupun teks.
Sintaks Fungsi Format
Sintaks dasar fungsi Format adalah sebagai berikut.
Format(Expression, Format)
Penjelasan Parameter
| Parameter | Keterangan |
|---|---|
| Expression | Nilai yang akan diformat. |
| Format | Pola format yang akan diterapkan. |
Parameter Expression dapat berupa angka, tanggal, waktu, teks, variabel, maupun hasil dari suatu perhitungan.
Memformat Angka
Misalkan Anda ingin menampilkan angka dengan pemisah ribuan.
Sub FormatAngka()
MsgBox Format(1250000, "#,##0")
End Sub
Hasilnya:
1,250,000
Jika komputer menggunakan pengaturan regional Indonesia, hasilnya biasanya menjadi:
1.250.000
Menampilkan Angka Desimal
Anda juga dapat menentukan jumlah angka di belakang koma.
Sub FormatDesimal()
MsgBox Format(1234.56789, "#,##0.00")
End Sub
Hasil:
1,234.57
Teknik ini sangat berguna ketika membuat laporan keuangan atau hasil perhitungan yang memerlukan pembulatan.
Memformat Tanggal
Fungsi Format sering digunakan untuk mengubah tampilan tanggal.
Sub FormatTanggal()
MsgBox Format(Date, "dd mmmm yyyy")
End Sub
Hasil:
03 Agustus 2026
Contoh lainnya:
| Format | Hasil |
|---|---|
"dd/mm/yyyy" |
03/08/2026 |
"dd-mmm-yyyy" |
03-Aug-2026 |
"dddd" |
Senin |
"mmmm" |
Agustus |
Dengan cara ini, laporan menjadi lebih mudah dipahami oleh pengguna.
Memformat Waktu
Selain tanggal, fungsi Format juga dapat mengatur tampilan waktu.
Sub FormatWaktu()
MsgBox Format(Time, "hh:mm:ss")
End Sub
Contoh hasil:
14:35:20
Jika hanya membutuhkan jam dan menit:
Format(Time, "hh:mm")
Hasil:
14:35
Memformat Tanggal dan Waktu Sekaligus
Fungsi Now sering dikombinasikan dengan Format.
Sub FormatNow()
MsgBox Format(Now, "dd mmmm yyyy hh:mm:ss")
End Sub
Hasil:
03 Agustus 2026 14:35:20
Format seperti ini banyak digunakan pada log aktivitas, laporan, maupun aplikasi absensi.
Memformat Teks
Tidak hanya angka dan tanggal, fungsi Format juga dapat diterapkan pada teks.
Sebagai contoh:
Sub FormatKode()
MsgBox Format(125, "00000")
End Sub
Hasil:
00125
Teknik ini sangat berguna ketika membuat nomor transaksi, kode pelanggan, atau nomor dokumen yang memiliki jumlah digit tetap.
💡 Tips Praktis
Gunakan fungsi Format hanya untuk mengatur tampilan data. Jika Anda ingin melakukan perhitungan matematika, gunakan nilai aslinya terlebih dahulu, kemudian terapkan Format pada hasil akhirnya.
Studi Kasus: Membuat Nomor Invoice Otomatis
Misalkan setiap transaksi harus memiliki nomor invoice dengan lima digit.
Sub NomorInvoice()
Dim Nomor As Integer
Nomor = 25
MsgBox "INV-" & Format(Nomor, "00000")
End Sub
Hasil:
INV-00025
Dengan teknik ini, seluruh nomor invoice akan memiliki format yang konsisten meskipun jumlah transaksinya masih sedikit.
Studi Kasus: Menampilkan Waktu Cetak Laporan
Saat laporan selesai dibuat, Anda ingin menampilkan informasi kapan laporan tersebut dicetak.
Sub CetakLaporan()
MsgBox "Laporan dicetak pada " & _
Format(Now, "dddd, dd mmmm yyyy hh:mm:ss")
End Sub
Hasil yang ditampilkan misalnya:
Laporan dicetak pada Senin, 03 Agustus 2026 14:35:20
Informasi seperti ini sering digunakan pada laporan keuangan maupun dokumen administrasi.
Kesalahan yang Sering Terjadi
Mengira Format Mengubah Nilai Data
Kesalahan yang cukup sering dilakukan adalah menganggap fungsi Format mengubah isi data.
Sebagai contoh:
Format(1500, "#,##0")
Nilai 1500 tetap sama. Yang berubah hanyalah cara nilainya ditampilkan.
Menggunakan Format untuk Perhitungan
Perhatikan contoh berikut.
Format(1000, "#,##0") + 500
Cara tersebut tidak disarankan karena hasil fungsi Format berupa String. Sebaiknya lakukan perhitungan terlebih dahulu, kemudian format hasil akhirnya.
Salah Menentukan Pola Format
Misalnya menulis:
"MM"
padahal yang diinginkan adalah menit.
Dalam VBA:
-
mm dapat berarti bulan atau menit, tergantung konteks format.
-
hh menunjukkan jam.
-
ss menunjukkan detik.
Memahami pola format akan membantu Anda menghindari tampilan data yang tidak sesuai.
Praktik Terbaik
Agar penggunaan fungsi Format lebih efektif, terapkan beberapa kebiasaan berikut:
-
Gunakan Format hanya pada saat data akan ditampilkan kepada pengguna.
-
Hindari memformat data terlalu awal jika masih akan digunakan dalam proses perhitungan.
-
Gunakan pola format yang konsisten pada seluruh aplikasi agar tampilan lebih profesional.
-
Simpan pola format yang sering digunakan ke dalam konstanta atau variabel jika digunakan di banyak prosedur.
Ringkasan
Melalui artikel ini, Anda telah mempelajari bahwa fungsi Format tidak hanya digunakan untuk mempercantik tampilan data, tetapi juga membantu menghasilkan laporan dan aplikasi yang lebih mudah dibaca.
Beberapa hal penting yang telah dibahas meliputi:
-
Memformat angka dan desimal.
-
Mengatur tampilan tanggal dan waktu.
-
Membuat format nomor transaksi dengan jumlah digit tertentu.
-
Menggunakan Format bersama fungsi Now.
-
Kesalahan umum dan praktik terbaik dalam penggunaan fungsi Format.
Dengan menguasai fungsi ini, Anda dapat meningkatkan kualitas tampilan aplikasi VBA Excel tanpa harus mengubah nilai data yang sebenarnya.
FAQ
Apakah fungsi Format mengubah isi data?
Tidak. Fungsi Format hanya mengubah tampilan data, sedangkan nilai aslinya tetap sama.
Apakah Format hanya bisa digunakan untuk angka?
Tidak. Fungsi ini juga dapat memformat tanggal, waktu, mata uang, persentase, dan teks dengan pola tertentu.
Mengapa hasil Format tidak bisa digunakan untuk perhitungan?
Karena fungsi Format mengembalikan nilai bertipe String. Jika ingin melakukan operasi matematika, gunakan nilai aslinya terlebih dahulu.
Kapan sebaiknya menggunakan Format?
Gunakan ketika data akan ditampilkan pada MsgBox, worksheet, laporan, UserForm, atau hasil cetak agar tampil lebih rapi dan mudah dipahami.
