使用特定的单元格值作为下一个操作的地址
我一直在搞混,寻找一段时间,但是我没有足够的能力。
- 我想select从
L7
到单元格中的值是'Anchorsec'(也列L)的范围。 - 你显然可以这样做,
EndCell
的确包含了AnchorSec的值,但是我如何使用EndCell
cell地址呢?
码
Dim EndCell As Range Set EndCell = ActiveSheet.Range("L7:L30").Find("AnchorSec", LookIn:=xlValues) ActiveSheet.Range("L7:EndCell.Adress").Copy ActiveSheet.Range("K7:EndCell.Address.Offset(0, -1)").Paste
Find
返回所需单元格的引用,所以使用它
Dim EndCell As Range Set EndCell = ActiveSheet.Range("L7:L30").Find("AnchorSec", LookIn:=xlValues) If Not EndCell Is Nothing Then ActiveSheet.Range("L7", EndCell).Copy ActiveSheet.Range("K7", EndCell.Offset(0, -1)).Paste Else ' AnchorSec Not Found End If
不是:对于任何未指定的选项,查找使用上次使用的任何,所以你应该指定所有的选项,以确保你得到你所期望的
ActiveSheet.Range("L7:L30").Find("AnchorSec", LookIn:=xlValues).Address
?
也很好用
LookAt:=xlWhole
使用xlFormulas
而不是xlValues
因为这对隐藏的单元格起作用。
我也简化了复制部分
码
Set EndCell = ActiveSheet.Range("L7:L30").Find("AnchorSec", , xlFormulas, xlWhole) If Not EndCell Is Nothing Then ActiveSheet.Range("L7", EndCell).Copy ActiveSheet.Range("K7") Else MsgBox "Cell not found", vbCritical End If
找
Find
需要9个参数
What,After,LookIn,LookAt,SearchOrder,SearchDirection,MatchCase,MatchByte,SearchFormat
为了收紧对另一个答案的build议,只有其中四个被默认保存
LookIn,LookAt,SearchOrder和MatchByte