Cara Menjalankan Userform VBA Excel Selalu diatas Aplikasi lain (Always on Top)

VBA Userform Always On Top

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

Be the first to comment

Leave a Reply

Your email address will not be published.


*