【发布时间】:2019-10-14 16:18:30
【问题描述】:
我需要选择指定范围内的最后一个单元格。
我正在从数据库中提取数据。我成功地转到了正确的工作表,并找到并选择了可变数量的经理(从“经理人数”开始向下两行。现在我只需要选择活动单元格的最后一行并在下面运行我的 If 语句。
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 语句。他们似乎都在问我是谁,但不完全是。
【问题讨论】:
-
这不清楚。
Now I just need to select the last line of the active cells and run my If statement below.和I've tried about 15 different Dim statements from other questions. They all seem like be close to asking what I am, but not exactly.有什么关系你的问题是什么? -
你应该做的第一件事是学习如何avoid select。至于找到范围中的最后一行,它实际上取决于范围的性质。如果您的行有空白,并且在您想要的数据下方的行中没有其他数据,您可以使用
Cells(Rows.Count,1).End(xlUp).Row(确保将所有范围对象显式绑定到工作表。 -
@CindyMeister after Range(ActiveCell, ActiveCell.End(xlDown)).Select 我现在选择了一个范围。我现在需要选择此突出显示范围中的最后一个单元格。如何选择(使我的活动单元格)范围内的最后一个单元格?
-
@Cj17digr -
ActiveCell.End(xlDown).Select将选择范围内的最后一个单元格,但请注意我的警告并立即学习不要使用选择。 (有 0.001% 的情况需要它,但这不是其中之一)。您会很高兴您这样做了,因为您将避免在代码中花费大量时间进行调试。 -
感谢 Scott Holtzman!那行得通。以后我也会尽量避免选择。
标签: excel vba ms-access range cell