我一直在搞乱和搜索,但是我的能力不足。
L7
到单元格中的值所在的范围' Anchorsec' (也是L栏)。 EndCell
确实包含值 AnchorSec ,但我如何使用EndCell
的单元格地址? 码
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
答案 0 :(得分:1)
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
返回对所需单元格的引用,因此请使用
{{1}}
不是:对于任何未指定的选项,Find使用上次使用的任何内容,因此您应指定所有选项以确保获得预期
答案 1 :(得分:0)
ActiveSheet.Range("L7:L30").Find("AnchorSec", LookIn:=xlValues).Address
也很好用
LookAt:=xlWhole
答案 2 :(得分:0)
使用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
为了收紧对另一个答案的建议,默认情况下只保存其中四个
LookIn,LookAt,SearchOrder和MatchByte