我有一句话下面的代码2007的宏在那里我填写客户名称的下拉从Excel电子表格填充一个下拉列表,然后在下拉改变填充相关领域(VBA)文本框
Private Sub UserForm_Initialize()
Dim i As Integer
Dim cn As ADODB.Connection
Dim rsT As New ADODB.Recordset
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=CCustomers.xls;Extended Properties=Excel 8.0;"
.CursorLocation = adUseClient
.Open
End With
rsT.Open "Select distinct * from Customer", cn, adOpenStatic
i = 0
With rsT
' This code populates the combo box with the values
' in the YourNamedRange named range in the .xls file. this exampletable is 2 rows by 6 columns and is set as a named range.
Do Until .EOF
ComboBox_Company.AddItem (i)
ComboBox_Company.Column(0, i) = rsT.Fields(0).Value
.MoveNext
i = i + 1
Loop
End With
End Sub
因此,我有一个客户名称列,我创建了一个命名范围(客户),它填充下拉列表。但是,当我在下拉列表中选择一个客户时,我想填充两个地址字段(1街道,2个城市)客户的地址。
Private Sub cbo_customer_Change()
Dim customerName As String
customerName = cbo_customer.Value
End Sub
该电子表格有大约10列,第一位是客户,第九位是地址1,最后一位是地址2。我如何使用变量客户填充地址字段?我是否必须创建一个新的命名范围,并且有类似 从myRange中选择customer,address1,address2 where customer = customerName?
为您添加了一些更新。 – ocodo 2010-10-20 04:58:05