我想首先说我是在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
如果我以错误的方式解决这个问题,请告诉我。
答案 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”。