.Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 1))有人能解释一下这段代码的意思吗?我对VBA非常陌生,很难理解某些代码逻辑的语法。
谢谢。
发布于 2021-05-11 09:30:19
该片段通常与with sheet(...)结合使用,以获得最后填充的行。
示例:
Set ws = ActiveSheet
With ws
LR = .Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 1)).Count
End With这里LR将是A列中具有值的最后一行。
这一行代码执行以下操作:
创建从A1 (单元格(1,1))到A&(最后填充的行)的范围,方法是在最后一行设置“选择器”,并执行CTRL +向上箭头(类似)。
然后将此范围的计数返回给LR。
使用这个稍微短一些的语法,您可以得到相同的结果:
Set ws = ActiveSheet
With ws
LR = .Cells(.Rows.Count, "A").End(xlUp).Row
End With在其中,只需从A列的最后一行执行CTRL +向上箭头,而不是创建一个范围,并返回行号。
较短语法的真正优点是您可以很容易地更改它以获得最后的值:
With ws
LR = .Cells(.Rows.Count, "A").End(xlUp).Value ' .row is changed to .value
End Withhttps://stackoverflow.com/questions/67483749
复制相似问题