Unless you do something "interesting" I don't see why this simple thing won't work?
Code:
Option Explicit
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Dim rc As RECT
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Sub Form_Load()
Call GetWindowRect(Me.hwnd, rc)
End Sub
Private Sub Form_Resize()
Me.Move Me.Left, rc.Bottom * Screen.TwipsPerPixelX - Me.Height
If Me.Top < 0 Then Me.Top = 0
Call GetWindowRect(Me.hwnd, rc)
End Sub
If you setting size via code you may need to use some flags.