【问题标题】:Need to select the last cell in a column that isn't blank to count how many cells of data in that section需要选择非空白列中的最后一个单元格来计算该部分中有多少个数据单元格
【发布时间】:2023-03-30 07:09:01
【问题描述】:

我需要一段代码才能在项目中为我工作。不起作用的子句旨在设置范围变量,其中范围由第一个单元格是匹配单元格的行/列号确定,范围结束单元格是相应列中的最后一个非空白单元格。我正在处理每个数据部分之间有空格的数据,每个部分的行数不同,同一张纸上的所有部分都由一个空白行分隔,所以我需要一些东西来不断计算每个部分中有多少个单元格对于每个匹配的案例。 给我一个错误的代码是:

    countRes = Range(.Cells(checkRow, matchCol), .Cells(checkRow, matchCol).End(xlDown).Select)
    resRow = countRes.Rows.Count

我不断收到一个错误,提示 对象变量尚未设置或块变量未设置

有人知道可能是什么问题吗?

我知道这与第一行有关,但我似乎无法弄清楚出了什么问题。

【问题讨论】:

  • 没有发现问号!

标签: vba excel


【解决方案1】:

您需要 SetRange object 并从后面的单元格范围引用中删除 .Select。通常,最好从底部向上而不是从顶部向下查找最后填充的单元格。如果有临时空白单元格,您将停在空白处而不是找到真正的最后一个单元格

解决父工作表也是一个好主意。

dim countRes as range, resRow as long
with worksheets("Sheet1")   '<~ set this properly!
    SET countRes = .Range(.Cells(checkRow, matchCol), .Cells(Rows.Count, matchCol).End(xlUP))
    resRow = countRes.Rows.Count
end with

【讨论】:

  • 嘿,感谢您的回复,但问题是存在临时空白,因为工作表中充满了来自不同来源的不同大小的数据,这些数据与它们的列不匹配,我需要匹配和整理将数据整合到一个大数据集中。我试图通过首先将每个数据集中的列与我需要它移动到的正确列进行匹配来做到这一点。所以我在这里需要的是让我从每个部分的第一行到最后一个非空白行计数到一个变量中,以便稍后调整我的副本选择。您认为有更简单的解决方案吗?
猜你喜欢
  • 1970-01-01
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 2020-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多