首页 > 解决方案 > 如何将控制源设置为选定/活动列的特定行?

问题描述

只是一个问题,如果有一种方法可以将组合框值的控制源定义为动态范围,在该动态范围内它始终与同一行相关,但已选择/活动列。我正在尝试重用相同的用户窗体来填写工作表中的类似数据,向右移动一列,如果控制源与选择一起移动,这将非常有帮助。

有点像

UserForm_Format.FilmType_ComboBox.ControlSource = Cells(3, ActiveCell.Column)

但是这个特定的代码不起作用

有人可以帮我解决这个问题吗?

标签: excelvbauserform

解决方案


如果您阅读ControlSource 属性的手册,您会发现您可以设置的值必须是String.

所以这条线

UserForm_Format.FilmType_ComboBox.ControlSource = Cells(3, ActiveCell.Column)

实际上默认为

UserForm_Format.FilmType_ComboBox.ControlSource = Cells(3, ActiveCell.Column).Value

您在这里所做的是设置该ControlSource单元格中的值。除非该值是有效地址,否则这将不起作用。

因此,您可能打算执行以下操作:

UserForm_Format.FilmType_ComboBox.ControlSource = Cells(3, ActiveCell.Column).Address

推荐阅读