繁体   English   中英

我如何 select 我活动范围内的最后一个单元格?

[英]How do I select the last cell in my active range?

我需要 select 我指定范围内的最后一个单元格。

我正在从数据库中提取数据。 我成功地将 go 到右侧工作表,并找到 & select 可变数量的经理(从“经理人数”开始向下两行。现在我只需要 Z99938282F04071859941E18F16EF 的最后一行运行我的语句。

Windows("MCS Cumulative_Data.xls").Activate
Sheets("Sheet 12").Select
Range("A1").Select
Cells.Find(What:="Number of Managers", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(2, 0).Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select

' 代码的一部分,但不重要。

ActiveCell.Offset(0, 1).Select
If ActiveCell.Value = "" Then
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"  
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "0"
Else
End If

我从其他问题中尝试了大约 15 种不同的 Dim 语句。 他们似乎都在问我是什么,但不完全是。

这个怎么样:

    lastrow = Range(ActiveCell, ActiveCell.End(xlDown)).Cells.Count 'gets the last row from active cell
    NumRow = ActiveCell.Row 'gets the colum the active cell is in
    Cells(lastrow, NumRow).Select 'selects that cell

“如何避免选择”(以及其他一些小技巧)的一个可能示例会将您的代码“折叠”为以下内容:

With Workbooks("MCS Cumulative_Data.xls").Sheets("Sheet 12")
    With .Cells.Find(What:="Number of Managers", After:=.Cells(1, 1), _
                     LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
                     SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Offset(2, 0).End(xlDown).Offset(0, 1)            
        If .Value = vbNullString Then .Resize(1, 13).Value = "0"                        
    End With
End With

ActiveCell.End(xlDown).Select

select 不是选定组中的最后一次销售,但确实抓住了我需要的单元格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM