Selasa, 28 Oktober 2014

Cara Membuat Efek Mouse Move di UserForm Excel

Rumus Excel [.] com - Efek Mouse Move di VBA Excel atau Mouse Move Event di VBA Excel adalah efek yang terjadi ketika kita menggeser mouse diatas Command Button, UserForm ataupun Label atau pada control yang telah di berikan efek mouse move event.

Dengan memberikan efek mouse move event ini sebuah Tombol Command Button akan terlihat lebih menarik dan tidak terlihat kaku.

Misalnya pada sebuah Tombol Command Button ketika normal berwarna merah kermudian ketika mouse didekatkan pada tombol tersebut, tombol tersebut berubah warna menjadi biru dan sebagainya.

Untuk membuat efek mouse move di UserForm Excel caranya sebenarnya sangat mudah, selengkapnya ikuti langkah-langkah berikut ini:

1Buka Aplikasi Microsoft Office Excel, kemudian setelah terbuka tekan tombol Alt+F11 pada keyboard untuk menampilkan aplikasi Microsoft Visual Basic for Application.

2Tambahkan Sebuah UserForm, 1 Command Button dan 2 buah Label.

3Aturlah posisi label1 dan Label2 bertumpuk pada posisi sejajar, samakan ukuran (Left dan Top)-nya.

4Tambahkan gambar pada Label1 dan Label2 dengan 2 gambar yang berbeda.

5Buka jendela code pada UserForm, kemudian masukkan script berikut ini:

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With CommandButton1
    .BackColor = vbBlue
    .ForeColor = vbWhite
End With
End Sub

Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Label2.Visible = True
Label1.Visible = False
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With CommandButton1
    .BackColor = &H8000000F
    .ForeColor = RGB(0, 0, 0)
End With
Label1.Visible = True
Label2.Visible = False
End Sub

6Selanjutnya tekan tombol F5 untuk menjalankan UserForm. hasilnya kurang lebih seperti ini:

Mouse Move Event in VBA Excel
Penjelasan Script VBA yang digunakan:

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With CommandButton1
.BackColor = vbBlue
.ForeColor = vbWhite
End With
End Sub
Ketika posisi mouse di geser dan berada diatas Command Button 1 maka tombol Command Button 1 warnanya berubah menjadi biru dan Warna Teksnya berubah menjadi Putih.
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Label2.Visible = True
Label1.Visible = False
End Sub
Ketika posisi mouse di geser dan berada diatas Label1 maka Label2 akan ditampilkan dan Label1 akan disembunyikan. Sebelumnya Properties Label2 diubah dulu visiblenya menjadi False agar Label2 tidak di tampilkan ketika UserForm di Load.
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With CommandButton1
.BackColor = &H8000000F
.ForeColor = RGB(0, 0, 0)
End With
Label1.Visible = True
Label2.Visible = False
Ketika posisi mouse di geser dan berada diatas UserForm maka warna tombol Command Button1 dan warna Teksnya di ubah kembali ke semula yakni abu-abu dan Hitam dan Label2 kembali disembunyikan serta Label1 di tampilkan kembali.

Penulisan script VBA untuk mengubah properties warna pada Command Button atau Label dan Control lainnya seperti pada BackColor atau ForeColor bisa dengan beberapa cara, misal untuk warna hitam:

1Dengan code warna bawaan vb seperti BackColor = &H80000012
2Dengan menuliskan nama warna vb seperti BackColor = vbBlack
3Dengan menggunakan code warna RGB seperti BackColor = RGB(0, 0, 0)

Lampiran


Tombol dengan MouseMoveEvent.xlsb   [ 19,9 KB ]

Sekian tutorial cara membuat efek mouse move di UserForm Excel. Semoga Bermanfaat....

7 komentar

  1. kalau commantbuttonnya lebih dari satu gimana gan...?

    BalasHapus
    Balasan
    1. Tinggal di copas sript nya trus ganti nama commond button nya ke tombol yang kita maksudkan tadi.
      Kode warna juga bisa diganti sesuai keingginan kita.

      Hapus
  2. labelnya kok bisa dibuat round ujungnya gimana caranya?

    BalasHapus
  3. Kalau tombolx didalam frame biar warnax otomatis, gimana min?

    BalasHapus
  4. kalau tombolx di dalam frame, gimana min? warnax tetap.. kecuali keluar frame baru berubah.

    BalasHapus
  5. nanya min.. kalau command button nya di dalam frame gimana min. . ?

    BalasHapus


EmoticonEmoticon