Cara Membuat Placeholder di TextBox VBA Excel


Untuk memudahkan pengguna aplikasi yang di buat dengan VBA, sebaiknya pada TextBox tempat input data di tambahkan placeholder. Placeholder teks adalah teks yang digunakan untuk membuat keterangan pada sebuah TextBox, supaya user tidak salah memasukkan data.
Membuat Placeholder di TextBox VBA Excel
Secara default fitur Placeholder tidak tersedia di VBA Excel, untuk memberikan keterangan biasanya menggunakan ControlTipText. Karena itu perlu cara khusus untuk membuat Placeholder text sendiri.

Dan berikut langkah-langkahnya pembuatan placeholder di Excel:


  • Pada aplikasi VBA Excel tambahkan sebuah UserForm dan 2 buah TextBox.
  • Ubah Nama (Name) dari TextBox1 menjadi txtNama dan TextBox2 menjadi txtNOHP.
  • Klik pada TextBox1 (txtNama) dan isi lah properties Tag dan Text-nya. dan ubah warna ForeColor-nya menjadi &H80000000&.

TextBox VBA Excel

  • Isikan juga Tag dan Text serta ubah ForeColor pada properties TextBox2 (txtNOHP).
Tambahkan sebuah module baru dan kemudian masukkan kode VBA berikut ini:
Sub txt_Enter(n As String)
    With UserForm1
        If .Controls(n).Value = .Controls(n).Tag Then
            .Controls(n).Value = vbNullString
            .Controls(n).ForeColor = vbBlack
        End If
    End With
End Sub

Sub txt_Exit(n As String)
    With UserForm1
        If Len(.Controls(n).Value) = 0 Then
            .Controls(n).Value = .Controls(n).Tag
            .Controls(n).ForeColor = &H80000000
        End If
    End With
End Sub

Untuk nama UserForm-nya sesuaikan dengan nama UserForm yang Anda gunakan, pada contoh UserForm yang digunakan adalah UserFrom1.



  • Selanjutnya buka jendela UserForm Code dan masukkan kode VBA di bawah ini:

Private Sub TxtNama_Enter()
    txt_Enter Me.ActiveControl.Name
End Sub

Private Sub TxtNama_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    txt_Exit Me.ActiveControl.Name
End Sub

Private Sub txtNoHP_Enter()
    txt_Enter Me.ActiveControl.Name
End Sub

Private Sub txtNoHP_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    txt_Exit Me.ActiveControl.Name
End Sub

Jika TextBox yang Anda buat berada di dalam Frame maka kode VBA-nya harus di sesuaikan, misal di Frame1 maka kode VBA-nya di ubah menjadi.

 txt_Enter Me.Frame1.ActiveControl.Name
txt_Exit Me.Frame1.ActiveControl.Name
Jika semua sudah benar, hasilnya adalah seperti berikut ini:
Placeholder di TextBox VBA Excel

No comments:

Post a Comment