我正在处理一个包含多个大表的speadsheet,其信息是通过我创建的基于电子表格的用户表单输入的,因为我不熟悉或不习惯使用vba userforms,我正在尝试重新调用条目以便编辑它们。
我能想到的最简单的方法是打开默认的Excel数据表。我需要知道的是;有没有办法为已经输入标准的特定表打开此数据表?
例如。我需要编辑一个产品表,所以我已经知道我正在编辑产品表,我知道产品的名称。我有一个userform,再次基于电子表格,我选择条目类型(在这种情况下是产品),然后输入产品名称。我想要做的是使用该信息打开产品表的数据形式,并且已填写名称的条件字段,以减少搜索条目所花费的时间,因为这些表有数百个条目。
答案 0 :(得分:1)
对于这个简单的例子,我将带有产品的工作表称为“产品”。有两列,列A中有名称,列B中有ID
在Userform上我放了两个名为
的文本框TextBox_Productname
TextBox_ProductID
然后我将以下代码添加到Userform中,只要productname文本框的值发生更改并且它失去焦点,就会触发该代码。
Private Sub TextBox_Productname_Change()
' Clear the content of all Textboxes but the Productname
TextBox_ProductID.Value = ""
' Analyse the Cells in the Worksheet called "Products"
With Worksheets("Products")
' Assume in the first row are the headers so start
' looking at the second row and go to the final one
For i = 2 To .UsedRange.Rows.Count
' check whether the value in the first column
' matches the value of the Textbox_Productname
If .Cells(i, 1) = TextBox_Productname.Value Then
' If there is a match copy the values of all
' the other columns to the textboxes
TextBox_ProductID.Value = .Cells(i, 2)
End If
Next i
End With
End Sub