Tampilan pada User Form

  1. 4 tahun lalu

    Siang master dan suhu

    bagaimana script untuk membuat nilai pada macro VBA menjadi sesuai dgn yang kita inginkan
    misal : tampilan pada userform
    txtTime.value -> saat saya mengisi nilai pd text box tersebut tampilan bisa berupa format time 00:00:00 (hh:mm:ss)
    txtTotal.value -> saat saya mengisi/mengetik nilai yang tampil pada user form langsung berupa format #,##0
    txtpersen.value-> tampilan yang muncul bisa langsung berupa persen (ex : 85%)

    mohon bantuannya
    terima kasih

  2. Caton

    30 Des 2019 Terverifikasi Indonesia + 20.101 Poin

    @Badawa ...

    Terlampir contoh sederhana untuk mengubah format tampilan teks pada TextBox. Semoga sesuai.

    Demikian.

  3. mas @Caton untuk number dan persen sudah sesuai

    tetapi time format masih belum sesuai, karena saat saya ingin mengisi 1 detik yang keluar 1 jam begitupun saat saya input 00:00:01 berubah menjadi 01:00:00, padahal yg sy ingin input adalah 1 detik

    mohon pencerahannya
    terima kasih

  4. Caton

    30 Des 2019 Terverifikasi Indonesia + 20.101 Poin

    @Badawa ...

    Tinggal diubah saja script berikut :

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        ...
        TextBox1 = Format$(CDbl(TextBox1.Tag) / 24, "hh:mm:ss")
    End Sub

    menjadi seperti berikut :

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        ...
        TextBox1 = Format$(CDbl(TextBox1.Tag) / 86400, "hh:mm:ss")
    End Sub

    Demikian.

  5. mohon pejelasannya untuk nilai 86400 mas @Caton
    CDbl ini artinya apa ya

  6. Caton

    30 Des 2019 Terverifikasi Indonesia + 20.101 Poin

    @Badawa ...

    Nilai 86400 berasal dari :

    86400 detik = 1440 menit = 24 jam = 1 hari penuh.

    Sedangkan CDbl merupakan salah satu fungsi VBA untuk mengkonversikan variabel dari tipe seperti Byte, Long atau Integer menjadi bertipe Double. Fungsi tersebut juga bisa mengkonversikan String atau teks yang berupa bilangan (angka atau numerik), misalkan nilai dari TextBox — karena kontrol TextBox pada dasarnya tetap akan mengembalikan nilai bertipe String meskipun isinya berupa angka atau bilangan.

    Demikian.

  7. terima kasih atas penjelasannya mas @Caton

    ilmu yang sangat bermafaat

  8. mas @Caton
    jika kita ingin menjumlahkan time bagaimana scriptnya ya?

  9. Caton

    2 Jan 2020 Terverifikasi Indonesia + 20.101 Poin

    @Badawa ...

    Pada contoh yang saya berikan sebelumnya, setiap nilai aktual dari kontrol TextBox disimpan pada properti Tag, misalkan TextBox1.Tag. Sedangkan properti Text atau Value hanya digunakan untuk menampilkan nilai ke pengguna saat nilai sudah diformat dalam bentuk masing-masing. Properti Tag tersebut dapat digunakan untuk proses penjumlahan, dengan cara dikonversikan dahulu menjadi nilai bertipe Long atau Double, kemudian dijumlahkan. Misalkan :

    TextBox5 = Format$((CDbl(TextBox1.Tag) + CDbl(TextBox4.Tag)) / 86400, "hh:mm:ss")

    Terlampir contohnya.

    Demikian.

 

atau Mendaftar untuk ikut berdiskusi!