vba - Excel 中空白行之间的动态范围

标签 vba excel database-design

我有一个如下所示的表格:

Date       MaturityDate ZeroRate

5-May-15    5-May-15    1
5-May-15    6-May-15    0.0069999329
5-May-15    5-Jun-15    0.008996562
5-May-15    6-Jul-15    0.008993128
5-May-15    5-Aug-15    0.006744264
5-May-15    5-Nov-15    0.006912941

5-May-15    5-May-16    1
5-May-15    5-May-17    0.006910929
5-May-15    6-Nov-17    0.007017292
5-May-15    7-May-18    0.00712202
5-May-15    5-Nov-18    0.007835916
5-May-15    6-May-19    0.008551509
5-May-15    5-Nov-19    0.009734602
5-May-15    5-May-20    0.010916848

5-May-15    5-Nov-20    1
5-May-15    5-May-21    0.012632521
5-May-15    5-Nov-21    0.013504069
5-May-15    5-May-22    0.014366506
5-May-15    7-Nov-22    0.014935518
5-May-15    5-May-23    0.0154865
5-May-15    6-Nov-23    0.016059181
5-May-15    6-May-24    0.016626256

它被分成均匀间隔的 block ,每个“1”之间有一行。

我有一个形式为 TestFunction(引用单元格,表格范围)的函数。我希望“表格范围”部分引用空白行之间的单元格。有没有办法可以向下拖动 TestFunction 并让它自动选择空白行之间的 block 作为范围?

我尝试编写类似的代码

D2: =IFERROR(IF(ISBLANK(C2),TestFunction(B2, INDEX(A:A,LOOKUP(2,1/ISBLANK(C$2:C2),ROW(C$2:C2))):C2),""),"") 

但这非常复杂并且不起作用。

有什么建议吗?谢谢。

最佳答案

在 VBA 中,有一个称为 CurrentRegion 属性的 Property,它将所有连续单元格返回到所选单元格。使用上面的示例数据,假设第一个 block 从单元格 A3 开始,到单元格 C8 结束,调用 Range("A3").CurrentRegion 返回范围 A3:C8。同样,调用该组中的任何单元格都会返回相同的范围。 Range("B4").CurrentRegion 返回“A3:C8”。

这对你有帮助吗?

关于vba - Excel 中空白行之间的动态范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32143661/

相关文章:

excel - VBA thisWorkbook 用法

java - 如何在 Java 中也读取具有空值的 Excel 单元格......?

sql - 在 SQL Server 中存储(产品)属性的最佳模式

excel - 防止 Excel 数据透视表页面项覆盖上面的单元格

vba - 当您按下 "Calculate Now"时,包含相互复制的 VBA 项目和工作表的工作簿显示错误的单元格值

excel - 使用 IFERROR 返回空白

excel - 是否可以动态控制Excel 2007中文本框的位置

excel - 更改 VBA 代码以从定义的单元格而不是文本框 (Excel) 中读取

MySQL - 条件外键约束

database-design - 分区加权有向图(基于键/值数据库)