Hola:
Es fácil. Hay que usar un par de funcioncillas de la API. En un módulo escribe el siguiente código:
'Tipo para la función GetWindowRect
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Const HWND_TOPMOST = -1 'Para SetWindowPos
Public Const HWND_NOTOPMOST = -2 'Para SetWindowPos
'Para colocar la ventana siempre arriba
Public 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 wFlags As Long) As Long
'Para ver la posición de una ventana
Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Public Sub SiempreArriba(hWndForm As Long)
'Hace que una ventana se coloque siempre arriba _
El argumento hWndForm es para pasar al procedimiento el handle (hWnd) de la ventana que deseamos colocar siempre arriba
Dim wRect As RECT
GetWindowRect hWndForm, wRect
With wRect
SetWindowPos hWndForm, HWND_TOPMOST, .Left, .Top, .Right - .Left, .Bottom - .Top, 0
End With
End Sub
Para hacer la llamada al procedimiento, sencillamente hay que pasarle el handle del formulario, que está en la propiedad hWnd. Por ejemplo, en el procedimiento de evento Load del formulario:
Private Sub Form_Load()
'Colocamos a ventana siempre arriba
SiempreArriba Me.hWnd
End sub
Un saludo