【问题标题】:Find next non-empty cell in column在列中查找下一个非空单元格
【发布时间】:2021-11-09 03:21:46
【问题描述】:

所以我有一列数据(玩家姓名),是从另一个 Excel 文件中粘贴的。单元格A2 有第一个球员姓名,然后有几个空白行(每个花名册表的空白行数不一样),我正在尝试确定下一个非空单元格的行号:

nextPlayerRow = rosterSh.Columns("A").Find(What = "*", after:=rosterSh.Range("A2"), LookIn:=xlValues).row

其中nextPlayerRow 被声明为Integer。但是,这会返回运行时错误 91。

我做错了什么?

【问题讨论】:

标签: excel vba


【解决方案1】:

运行时错误 91 是未设置对象变量。可能您没有设置初始化 rosterSh,或者您的 .find 什么也没找到,因此无法返回 .row。

当您使用 .find 方法时(或任何时候您需要方法的属性),您应该首先使用 Set 检索对象,然后检查对象是否存在,然后再尝试访问其中的一个属性如下:

Set nextPlayerCell = rosterSh.Columns("A").Find(What = "*", after:=rosterSh.Range("A2"), LookIn:=xlValues)
If Not nextPlayerCell is nothing then
    nextPlayerRow = nextPlayerCell.row
End If

【讨论】:

    【解决方案2】:

    您可以使用End(xlDown),而不是使用Find

    nextPlayerRow = rosterSh.Range("A2").End(xlDown).Row
    

    【讨论】:

      猜你喜欢
      • 2021-10-01
      • 2018-10-10
      • 2021-12-03
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 2018-02-01
      • 1970-01-01
      相关资源
      最近更新 更多