检查具有值的特定列中的最后一个单元格,并在excel vba中选择其下方的单元格

时间:2014-12-19 10:44:29

标签: excel vba excel-vba

您好我正在尝试编写一些代码来获取具有值的特定列(例如A列)中的最后一个单元格。我只知道这个:

Cells(3, 2).Value = quantity

3 个答案:

答案 0 :(得分:0)

确定最后一行使用以下公式

lastRow = Cells(rows.count,1).End(xlUp).row
  • rows.count =该版本Excel中的总行数(65k in 2003等),即Excel中的最后一行
  • rows.count右边的
  • 1 = A列,2将是coulmn B,依此类推
  • xlUp粗略意味着它将从下往上搜索

如果您希望使用此命令,可以搜索更多。

现在一旦你知道最后一行,然后使用

获取它的值
Variable = Cells(lastRow,1).Value

答案 1 :(得分:0)

如果要查找范围中最后一个单元格的行,最好使用find函数。

作为一个例子:对于特定的列n;使用下面的代码将其设置为数量

Dim n As Long, quantity As Long
n = 3
quantity = 5000
Cells(Columns(n).Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, _ 
    SearchDirection:=xlPrevious).Row, n).Value = quantity

答案 2 :(得分:0)

这样的东西检查:

  • A列中至少有一个值(否则没有选择)
  • 最后一行不在最后一行(避免在尝试偏移行时出错)

Sub LastRow()
Dim rng1 As Range
Set rng1 = Columns("A").Find("*", [a1], xlValues, , xlByRows, xlPrevious)
If Not rng1 Is Nothing Then
    If rng1.Row <> Rows.Count Then rng1.Offset(1, 0).Activate
End If
End Sub