I don't know if my tiny bit might help. It works for me. Try this.
Private 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
Public Sub SizeCombo(frm As Form, cbo As ComboBox)
' Resize a ComboBox's dropdown display area.
Dim cbo_left As Integer
Dim cbo_top As Integer
Dim cbo_width As Integer
Dim cbo_height As Integer
Dim old_scale_mode As Integer
' Change the Scale Mode on the form to Pixels.
old_scale_mode = frm.ScaleMode
frm.ScaleMode = vbPixels
' Save the ComboBox's Left, Top, and Width values.
cbo_left = cbo.Left
cbo_top = cbo.Top
cbo_width = cbo.Width
' Calculate the new height of the combo box.
cbo_height = frm.ScaleHeight - cbo.Top - 5
frm.ScaleMode = old_scale_mode
' Resize the combo box window.
MoveWindow cbo.hWnd, cbo_left, cbo_top, _
cbo_width, cbo_height, 1
End Sub
Private Sub Command1_Click()
For ty = 1 To 100
Form1.Combo1.AddItem ty
Next
End Sub
Private Sub Form_Load()
SizeCombo Me, Combo1
End Sub
The above is fine, other than a word of warning as I found out. The sizecombo alters the scaling so if you have controls programtically positioned, then putting in the call should follow those settings. Hope it helps, would be good to give back something to this site. Regards