
Pada bahasa HTML ada tag yang bernama <Marquee> tag ini berfungsi untuk membuat text Berjalan pada halaman HTML. Sayangnya pada VBA tidak ada method untuk membuat text berjalan pada userform. tapi walaupun begitu bukan berarti kita tidak bisa membuatnya.
Pada kesempatan kali ini Excelnoob akan memberikan tutorial bagaimana cara membuat Text Berjalan Atau Running Text pada Userform dengan sedikit Trik VBA. hasil Text Berjalan yang akan kita buat kurang lebi seperti pada Gif dibawah ini

Untuk membuat Userform dengan text berjalan seperti diatas cukup mudah. Logikanya disini kita memanfaatkan posisi Lebel dan menggesernya setiap saat sehingga seolah-olah text terlihat bergerak. mari kita mulai saja membuatnya
Text Berjalan (Running Text) Pada User Form
- Pada Aplikasi Excel , silahkan masuk ke Visual Basic Editor
Untuk masuk ke Visual Basic Editor, bisa melalui shortcut keyboard ALT + F11 atau masuk melalui Menu Developer
- Buat sebuah Userform dan 1 Buah Label
Buat sebuah Userform dengan Cara mengklik Insert -> Userform dan pada Toolbox Klik Label dan Masukan Label ke Userform
- Isi Caption Label
Isi caption label dengan text yang ingin dibuat berjalan (bebas)
- Klik Kanan Pada User Form lalu Pilih View Code
Terkahir masukan Code dibawah ini
Dim Berhenti As Boolean Private Sub UserForm_Activate() Call TextBerjalan End Sub Private Sub TextBerjalan() Dim I As Long awal: DoEvents If Berhenti = True Then Exit Sub Label1.Left = Label1.Left - 2 If Label1.Left <= -Me.Width Then Label1.Left = Me.Width For I = 1 To 8388608: Next 'Kecepatan Berjalan GoTo awal End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Berhenti = True Unload Me End Sub
Untuk mengatur kecepatan Berjalan silahkan ubah nilai yang ada pada For (8388608) semakin besar nilainya maka akan semakin lambat begitu juga sebaliknya semakin kecil nilainya maka akan semakin cepat.
Berjalan ke Arah Kanan
Jika ingin text berjalan ke arah kanan, silahkan ubah code berikut ini
Label1.Left = Label1.Left - 2 If Label1.Left <= -Me.Width Then Label1.Left = Me.Width
Ubah menjadi
Label1.Left = Label1.Left + 2 If Label1.Left >= Me.Width Then Label1.Left = -Me.Width