0

我在用户窗体中有一个 ComboBox,我正在寻找一种方法来查找选择的内容,以便我可以将其用作字符串并将其传递给工作表上的单元格。例如:

 Private Sub Filter_Click()
 'The Userform is called Summary, and the ComboBox in question is named Month_Filter
 If Summary.Month_Filter = "January" Then .......
 Call UpdatedTotals
 End Sub


 Sub UpdatedTotals()
 Dim ChosenDate as String
 If Summary.Month_Filter <> "" Then ChosenDate = Summary.Month_Filter.Value
 Range("A1").FormulaR1C1 = ChosenDate
 End Sub
4

3 回答 3

1

组合框的值可通过以下方式访问:

Me.comboBoxName.Value

所以像:

If Me.comboBoxName.Value = "January" Then ....

会工作。

但是,这仅适用于用表单代码编写的代码(如果有意义的话)。您将无法在单独的模块中使用该代码,因为它不会知道有关 Me.comboBoxName 的任何信息...如果您想在不同的模块中使用该值,则必须在调用该子时传递该值/功能。

于 2013-08-20T18:18:23.723 回答
1

Value属性将返回BoundColumn所选列表项的值。

ListIndex属性返回所选列表项的索引(第一项从零开始)。如果Column您要查找的值不在BoundColumn.

ChosenDate = Summary.Month_Filter.Column(Summary.Month_Filter.ListIndex,1)

第二个参数 1 引用第二列,因为它与列表项一样从零开始。

于 2013-08-20T18:22:04.273 回答
0

尝试这个:

Private Sub Filter_Click()
 If Summary.Month_Filter.Value = "January" Then .......
 Call UpdatedTotals
 End Sub


 Sub UpdatedTotals()
 If Summary.Month_Filter.Value <> "" Then Range("A1").Value = Summary.Month_Filter.Value
 End Sub
于 2013-08-20T18:17:33.387 回答