对于宏,我使用VBA通过查找第一个和最后一个填充行来确定日期范围。我已经找到了一种方法来查找第一个和最后一个填充行,通过使用End.xlToRight,但只有当它是一个连续填充行时才有效,如:
183 | 183 | 183 | 183 | 183 | 183 | 183 | 183 |
现在一些行如下:
183 | 183 | 183 | 183 | empty | 183 | 183 | 183 | 183 |
或者
183 | 183 | 183 | 183 | 183 | 183 | 183 | 305| 305| 305| 305
找到序列中第一个和最后一个填充单元格的坐标以及中间的空单元格的好方法是什么?
谢谢!
4条答案
按热度按时间hi3rlvi21#
如果没有什么超出您的数据,然后开始在最右边的行,然后向左走。即如果您的数据是在第1行,然后
wkyowqbh2#
请尝试下面的操作。仅当数据从A列开始时才能正确工作。对于行:
对于色谱柱:
您还可以使用:
最安全的方法是使用下面的公式,即使数据不是从A列开始,也会返回最后一行。
qkf9rpyu3#
在这种情况下,最好使用
CurrentRegion
因此,如果您的数据从单元格A1开始,您可以执行以下操作:
Range("A1").CurrentRegion
当前标记的答案将为您提供工作表上所有数据的区域,这并不是真正的问题。
kxe2p93d4#
使用Find方法
Range.Find Method
以下内容与使用
Find
方法获取(引用)行、列、给定范围或工作表中的NON-EMPTY范围有关。基础知识
Find
方法将失败。Find
方法仅在LookIn
参数的参数设置为xlFormulas
时才有效。Find
方法的第4个和第7 - 9个参数(LookAt
、MatchCase
、MatchByte
和SearchFormat
)是不相关的。What
,始终为*
After
,默认为第一个单元格A1
(仅 First,last cell),LookIn
,总是xlFormulas
也工作,如果'细胞'是隐藏的(不过滤!),并包括空白的非空细胞,例如=""
,'
,...,SearchOrder
,(仅限 * 范围或工作表 *),SearchDirection
,默认为xlNext
(仅 Last,xlPrevious
)。有趣
A1:L12
,即已使用的范围(UsedRange
)。请注意,尽管范围L1:L12
和A12:K12
不包含值,但它们(为空),也包括在内,因为它们的单元格之一不具有默认格式。使用UsedRange
清空单元格。行透视(绿色)
结果:
柱透视(红色)
结果:
范围和工作表透视图(黄色、蓝色)
结果: