如何从特定范围内的列获取最后一行

时间:2016-05-09 17:29:03

标签: excel excel-vba vba

我有一些代码可以打开excel电子表格并获取该列中的最后一个空行。我遇到的问题是我在excel电子表格中创建了两个表。我希望只能为B列选择B7:B94的范围,因为我有代表从B开始的另一个表的数据:101 到目前为止,这是我的代码......

Const xlUp = -4162

Set xlApp = CreateObject("Excel.Application")
With xlApp
    .Visible = False
    Set xlWB = .Workbooks.Open("M:\Shared Documents\Job Cost Analysis\Hi-Tech BPO\Logs\" & currentMonth & "-Summary Hi Tech BPO.xlsx", , False)
    Set ws = .Worksheets(sheetName) 

Dim LR
 '''''''''''Here is where I want to select the range of B7:B94''''''''''''''
LR = .Range("B" & .Rows.count).End(xlUp).Row
.Range("B" & LR + 1).Value = RIGHT(client_id,LEN(client_id)-7) 

End With

xlApp.DisplayAlerts = False
xlWB.SaveAs ("M:\Shared Documents\Job Cost Analysis\Hi-Tech BPO\Logs\" & currentMonth & "-Summary Hi Tech BPO.xlsx")
xlWB.Close
xlApp.Quit

2 个答案:

答案 0 :(得分:1)

怎么样

.Range("B7").End(xlDown).Offset(1,0).Row

答案 1 :(得分:1)

对于非结构化数据块,

LR = .Range("B100").End(xlUp).Row

对于真正的ListObject(又名structured)表,

LR = .Range("B100").End(xlUp).End(xlUp).Row

后者假设表格不满['应该进行检查以确保LR不是7。