作为日期选择的结果,如何使用工作表的名称填充组合框?

时间:2015-04-22 16:27:18

标签: excel vba excel-vba combobox

我有2个组合框。第一个组合框(CboReviewDate)保存日期。第二个组合框(CboReviewModule)将填充活动工作簿中所有工作表的名称(如果它们包含与“CboReviewDate”中所选日期相匹配的“x”列中的日期)。

我需要帮助设置逻辑并选择正确的搜索工具。 这个逻辑流程会起作用吗? 循环例程是否会擦除CboReviewModule中的现有条目?

这对我来说是一个学习过程,所以我想自己开发代码。请指出我正确的方向。

这是我的伪代码:

'Run on "CboReviewDate"_change state
'CountIf (date in column "x" = "CboReviewDate.Value") in worksheet 1 of active workbook
'if result <> 0 then pass name of worksheet to variable "a"
'.additem to "CboReviewModule" using value of variable "a"
'reset value of variable "a" and loop until all worksheets in active workbook have been searched

1 个答案:

答案 0 :(得分:1)

好的,所以这是我指向右边/可能/一些?方向。

  • 第一个组合框应在您选择日期时触发Change事件
  • 在该事件中,您应该映射一个
  • 的过程
  • A)循环所有工作表(Workbook.Worksheets集合)
  • B)检查每个Worksheet中的第X列日期
  • C)如何进行检查取决于您,您可能希望尝试对象Find的{​​{1}}方法(记录Range的宏并查看其工作原理),但要注意错误处理(找不到匹配时)
  • D)如果找到日期,Ctrl+F会添加到第一个组合框的项目集合中。