查找列标题并确定下面的活动行数

时间:2017-05-18 16:34:10

标签: excel vba excel-vba

我想首先说我是在Excel中使用VBA的新手。我只是试图在我的工作簿中找到一个单元格(列标题)并使用该信息来确定基于下面一行到最后一个活动行的范围。

我有下面的内容,但我遇到了对象属性错误。

'Identify the starting range Cell
Dim Acct_Start As String 
'Determine the range length
Dim Acct_Lines As Long

'Locate All of the Security Numbers
Acct_Start = ActiveSheet.Cells.Find(What:="Account Number").Offshet(1, 0).Address
Acct_Lines = Cells(Rows.Count, ActiveCell.Column).End(xlDown).Row

我的目标是使用此信息来删除我的值的第一个和最后一个数字。 I.E.我的数据是x123456x,我希望它是123456。

如果上面的代码有效,我会通过下面的TextToColumn修剪器。

    'Clean Up Security Numbers
Selection.TextToColumns Destination:=Range(Acct_Start), DataType:=xlFixedWidth, _
    FieldInfor:=Array(Array(0, Acct_Lines), Array(1, 1)), TrailingMinusNumbers:=True
Selection.TextToColumns Destination:=Range(Acct_Start), DataType:=xlFixedWidth, _
    FieldInfo:=Array(Array(0, Acct_Lines), Array(6, 9)), TrailingMinusNumbers:=True

如果我以错误的方式解决这个问题,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果“最后一个活动行”表示最后一个包含数据的单元格,则应该为您提供所需的范围:

Dim rngStart As Range, rngEnd As Range, rngFull As Range

Set rngStart = Range("1:1").Find("c1").Offset(1, 0)
Set rngEnd = rngStart.End(xlDown)
Set rngFull = Range(rngStart, rngEnd)

您必须替换“c1”。