【发布时间】:2019-04-06 14:13:36
【问题描述】:
我如何将范围设置为要使用的变量:
Private Sub Worksheet_Change(ByVal Target As Range)
我想引用一个单元格,它是列表对象特定列顶部的 3 个单元格。 这样:
set rOverlap = intersect(SRTbl.ListColumns(firstConceptColumn).DataBodyRange.iTem(1).offset(-3, 0).resize(0,3),target)
其中 firstconceptcolumn=9(或其他)
这行不通。
我这样做是因为如果我决定在表格的开头添加列,则不需要更改代码。 listobject 的第一行不是 row1 而是 row5。 前 5 行在数值变化时触发子程序(输入数据后按回车键)
我也尝试过使用 headerRowRange :
Set rOverlap = Intersect(SRTbl.HeaderRowRange(firstConceptColumn).offsset(-3, 0).Resize(, 4), Target)
这两个都行不通。
实际上,作为一个更基本的问题,我在想什么样的数据是:
SRTbl.HeaderRowRange(firstConceptColumn)
这是一个范围吗? 为什么不能使用以下内容:?
SRTbl.HeaderRowRange("name")
非常感谢
PS:我在stackoverflow 上所说的一切都是调整listobject 本身的大小。 PS2:我也不明白这两个家伙之间是否有区别:
.Resize Range("A1:B10")
和
.Resize(1,10)
何塞·费罗
【问题讨论】:
-
首先删除您的
offsset错字...
标签: excel vba resize range listobject