繁体   English   中英

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

[英]Check which is the last cell in a specific column which has a value and select the cell below it in excel vba

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

Cells(3, 2).Value = quantity

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

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

您可以在此命令中搜索更多内容。

现在,一旦知道了最后一行,就可以使用它来获取其值

Variable = Cells(lastRow,1).Value

如果要查找范围中最后一个单元格的行,最好使用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

像这样的东西检查:

  • 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

暂无
暂无

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

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