代码找到标题行和正确的列。我想在同一列的标题行下开始一个单元格的范围内执行一些代码,直到同一列中的最后一行。我试图使用offset
来创建范围,但每次都会失败offset
。 offset
不能用这种方式吗?Excel VBA:我在这个简单的OFFSET中错过了什么?
Sub Del_Y_Rows()
Dim Rng, fcell, LastRow, SrchRng, sRNG, eRNG As Range
Dim Findstring As String
Findstring = "Header"
With Sheets("thisSheet")
Set SrchRng = .Range("a1:l15")
Set fcell = SrchRng.Find(What:=Findstring, _
LookAt:=xlWhole, _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
MatchCase:=False)
LastRow = .Cells(Rows.Count, fcell.Column - 2).End(xlUp).Row
Debug.Print "fcell " & fcell.Address
sRNG = .Range(fcell).Offset(1, 0) 'this fails 'sRng = start of the range
Debug.Print "srng " & sRNG
eRng = .cells(LastRow, fcell.Column) 'eRng = end of the range
Rng = .Range(sRNG, eRng)
Debug.Print "rng is " & Rng.Address
End With
End Sub
测试'fcell是Nothing'。顺便说一句,只有'eRNG'是一个'范围'。其余部分隐含声明为“Variant” – Comintern