表特定列的动态范围

时间:2018-07-06 13:26:36

标签: excel excel-vba listobject vba

我有一个包含3列的表。在“希望”列中,当我单击它时,我想弹出一个日历并选择一个日期。这工作得很好,但是我必须在下面的代码中手动设置范围。我希望每当我在数据表中添加一行时,第三列(“ C”)都有一个动态范围。 (表名称=“表1”)

预先感谢

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Not Intersect(Target, Range("C1:C10")) Is Nothing Then UserForm1.Show

End Sub

1 个答案:

答案 0 :(得分:1)

要在包含表中第三列数据(不包括表头)的单元格选择上触发UserForm1,请尝试

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Not Intersect(Target, listobjects("table1").DataBodyRange.Columns(3)) Is Nothing Then UserForm1.Show

End Sub

如果您希望单元格选择触发器包含标题,只需将DataBodyRange更改为Range。