【问题标题】:Use a named range in an excel worksheet to propagate a listbox在 Excel 工作表中使用命名范围来传播列表框
【发布时间】:2010-04-28 04:55:56
【问题描述】:

所以我在 excel 工作表中有许多命名范围。我想使用这些来填写同一工作簿中用户表单上的组合框。

我试过了:

cboMember.DataSource = Globals.Sheet1.MemberRange.Value

没有给出错误,但组合为空白。有人有什么想法吗?

我正在尝试在 excel 2003 工作簿上使用 VSTO for VS 2008。

【问题讨论】:

    标签: visual-studio-2008 excel vsto excel-2003


    【解决方案1】:

    cboMember.RowSource = "NamedRange"

    您没有将其设置为对象。将其设置为字符串。 Excel 计算出其余部分。

    【讨论】:

      【解决方案2】:

      这有点猜测,但我相信在 VBA 中,您可以执行类似 Range("MyRangeName") 的操作来获取命名范围,因此您可以尝试类似的操作。

      Excel 中的某些范围是工作表的本地范围,而某些范围是工作簿的全局范围。如果它们是工作表的本地,那么您需要在工作表名称前面加上前缀,例如Range("Sheet1!MyRangeName").

      【讨论】:

      • 感谢 Rory Globals.Sheet1.MemberRange.Value 确实在数组中返回正确的值,但我无法让我的组合框绑定到它。我想我将不得不遍历这个数组以将值单独分配给组合框,例如 cboMember.additem Globals.Sheet1.MemberRange.Value[i] 但我认为必须有一个更简单的方法。
      • 我认为你是对的,有一种更简单的方法。手动绑定一个组合框,然后在使用 VBA/调试器检查它时查看它的外观如何?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多