
Pembuatan aplikasi excel dengan userform bisa dibuat untuk membuat aplikasi apa saja. Ada kalanya Userform yang ditampilkan ingin selalu diatas walaupun ketika membuka aplikasi lain selain Excel.
Lalu bagaimana cara agar userform ini selalu muncul diatas aplikasi lain dan tidak tertutupi. Jika melihat pada setting properties Userform nya tentu untuk setingan ini tidak akan ditemukan.
Agar Userform yang ditampilkan bisa selalu diatas aplikasi lain, disini diperlukan sebuah Windows API untuk melakukannya. Disini kamu bisa menggunakan SetWindowPos API agar userform selalu diatas dengan parameter TOP_MOST.
Untuk menggunakan API ini, kamu bisa melakukan insert Module dan Copy script dibawah ini ke module
Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const HWND_TOPMOST = -1 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SetWindowPos Lib "user32" _ (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _ ByVal cx As Long, ByVal cy As Long, ByVal uFlags As Long) As Long Public Sub AlwaysOnTop(caption As String) Dim ret As Long Dim hWnd As Long hWnd = FindWindow(vbNullString, caption) ret = SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE) End Sub
Jika script diatas sudah kamu copy, selanjutnya untuk penggunannya cukup mudah, hanya tinggal memanggil fungsi yang sudah dibuat tadi kedalam Userform_Initilize
Private Sub UserForm_Initialize() AlwaysOnTop Me.caption End Sub
Jika masih ada yang belum kamu pahami dalam penggunaan script diatas, kamu bisa simak tutoral YouTube dilink berikut ini. Membuat Userform VBA selalu tampil diatas Aplikasi lain
Leave a Reply