Private Type RECT Left As Long Top As Long Right As Long Bottom As LongEnd TypePrivate Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, _ lpRect As RECT) As LongPrivate Declare Function ScreenToClientAny Lib "user32" Alias "ScreenToClient" _ (ByVal hWnd As Long, lpPoint As Any) As LongPrivate Declare Function MoveWindow Lib "user32" (ByVal hWnd As Long, _ ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _ ByVal nHeight As Long, ByVal bRepaint As Long) As Long' Set a new height for the list area of a ComboBox control'' NEWHEIGHT is measured in pixelsSub ComboBoxSetHeight(CB As ComboBox, ByVal newHeight As Long) Dim lpRect As RECT Dim wi As Long ' get combobox rectangle, relative to screen GetWindowRect CB.hWnd, lpRect wi = lpRect.Right - lpRect.Left ' convert to form's client coordinates ScreenToClientAny CB.Parent.hWnd, lpRect ' enforce the new height MoveWindow CB.hWnd, lpRect.Left, lpRect.Top, wi, newHeight, TrueEnd Sub