如何确定行标题和列标题的“投影”的INTERSECT

时间:2010-12-13 16:57:19

标签: excel excel-vba vba

在excel电子表格中,我引用了一系列行标题和列标题;对应于这些数据的数据将是两个范围的“投影”的交集。即:范围本身实际上并不相交,但是将它们向下/向右投影会产生我感兴趣的交集。我希望确定代表RowHeaders和ColumnHeaders的整个交集的范围。

看起来像这样:

   c  c  c  c  c 
r  d  d  d  d  d  
r  d  d  d  d  d  
r  d  d  d  d  d  
r  d  d  d  d  d

所以,我从包含'rs和c'的2个范围开始,我感兴趣的是导出包含d's的范围。在行或标题之后可能存在一些空行或列(即:数据可能不会立即在列标题下方的第一个单元格中开始......在第一个行标题和数据开始之前可能有几个空白行。

这似乎应该有用,但没有这样的运气:

Intersect(rngRowHeaders.Rows, rngColumnHeaders.Columns).Address

2 个答案:

答案 0 :(得分:1)

尝试调整大小。假设rowhdr是一个引用rs的命名范围,而columnhdr是一个引用cs的命名范围。适合我

 MsgBox Range("rowhdr").Offset(0, 1).Resize(, Range("columnhdr").Columns.Count).Address

答案 1 :(得分:1)

Intersect(rngRowHeaders.EntireRow, rngColumnHeaders.EntireColumn).Address

那应该能得到你想要的东西。