Private Sub UserForm_Initialize()
Dim endrow As Integer
Dim i As Integer
Dim str As String
endrow = Sheet1.Range("b65536").End(xlUp).Row
With Sheet1
For i = 2 To endrow
str = Sheet1.Range("b" & i)
ComboBoxgoods.AddItem str
Next
End With
End Subcombox控件列表下添加的是sheet1中的第b列的内容,即客户名字。。
1)现在我想让combox列表中的下面的这些客户名字能够按字母顺序排列,这个如何实现啊?我现在显示的是根据sheet1表中B列的内容依次显示出来的。
2)或者另外一种思路:现在combox中有二个以d开头的客户,分别是dig,deathcat,目前这两个是一个在最上面,一个在最下面。我想让当我在combox控件中输入一客户名字时,例如:deathcat,当我一输入d时,显示的是最上面的deathcat,但在列表中会把那个dig也紧挨着deathcat出现,即说让以d打头的优先出现在下面的列表中?目的只有一个,如何方便使用者选择相应客户名字?先谢过老大。
Dim endrow As Integer
Dim i As Integer
Dim str As String
endrow = Sheet1.Range("b65536").End(xlUp).Row
With Sheet1
For i = 2 To endrow
str = Sheet1.Range("b" & i)
ComboBoxgoods.AddItem str
Next
End With
End Subcombox控件列表下添加的是sheet1中的第b列的内容,即客户名字。。
1)现在我想让combox列表中的下面的这些客户名字能够按字母顺序排列,这个如何实现啊?我现在显示的是根据sheet1表中B列的内容依次显示出来的。
2)或者另外一种思路:现在combox中有二个以d开头的客户,分别是dig,deathcat,目前这两个是一个在最上面,一个在最下面。我想让当我在combox控件中输入一客户名字时,例如:deathcat,当我一输入d时,显示的是最上面的deathcat,但在列表中会把那个dig也紧挨着deathcat出现,即说让以d打头的优先出现在下面的列表中?目的只有一个,如何方便使用者选择相应客户名字?先谢过老大。
你可以先把Excel表里的数据排好再做呀
再添加]Private Sub cmdReadXLS_Click()
Set dgData.DataSource = Read_Excel(App.Path & "\" & "test.xls")
Set obj = Nothing
End SubPublic Function Read_Excel _
(ByVal sFile _
As String) As ADODB.Recordset On Error GoTo fix_err
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim sconn As String rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockBatchOptimistic sconn = "DRIVER=Microsoft Excel Driver (*.xls);" & "DBQ=" & sFile
rs.Open "SELECT * FROM [sheet1$]", sconn
Set Read_Excel = rs
Set rs = Nothing
Exit Function
fix_err:
Debug.Print Err.Description + " " + _
Err.Source, vbCritical, "Import"
Err.Clear
End Function