【问题标题】:Excel VBA - Ubound count array until row with specific textExcel VBA - 未绑定计数数组,直到具有特定文本的行
【发布时间】:2023-04-07 11:25:01
【问题描述】:

我有一张有 4 列(姓名、年龄、姓氏、金额)的表格,有 30 个条目。 标题第 1 行和 30 个条目。因此,单元格 (32,1) 具有文本总计,并且金额总和可在相应的金额列中获得。我已将数据命名为范围。 我正在尝试使用 Ubound 收集行号。 我的条件是我应该得到行数,直到我找到 Total 文本(只说直到第 31 行)。

这是我的代码。

Option Explicit

Sub calculate()

Dim rowcount As Long
Dim rng As Range
Dim ws As Worksheet

ws = ThisWorkbook.Sheets("Sheet1")
rng = ws.Range("DataAmnt")

ws.Activate
rowcount = UBound(rng, 1)

End Sub

抱歉,我没有分享工作表图片的声誉。

【问题讨论】:

  • 那么你的问题是什么?你已经说明了你想要做什么,你甚至提供了一些代码,但是你希望我们帮助你做什么?
  • rowcount 应该忽略包含文本“Total”的最后一行。数据是动态的,行数是动态的。但结构保持不变。
  • 这仍然不是一个问题,您只是告诉我们您的要求,这听起来就像您只是希望有人为您编写/完成您的代码。我们是一个问答网站,而不是志愿者程序员。您需要告诉我们您在自己实现此功能时遇到了什么具体问题,您是否遇到错误?输出不正确?
  • 我无法通过任何方式(如查找字符串和其他方式)获得要求。上面的代码可以很好地获得总行数。这是我需要有人帮助我的地方。如果我有代码,我不需要在这里发帖。
  • 好的,这是我要在这里发表的最后一条评论。您反复陈述您的要求/目标,但我们不想要您的软件规格,我们想要specific, answerable question。所以我再问一次,尽可能简单地说:什么。是。您的。问题? 不要在 cmets 中回复,请编辑您的问题,使其完全是一个问题,而不是您的要求的开放式陈述。

标签: vba excel excel-2007


【解决方案1】:

下面的代码应该遍历每个单元格,并为您获取包含单词 total 的单元格的行。另一种方法是 Cells.Find 方法,如果您的范围较小,该方法会更快。

Option Explicit

Sub calculate()

Dim rowcount As Long
Dim rng As Range
Dim ws As Worksheet

ws = ThisWorkbook.Sheets("Sheet1")
rng = ws.Range("DataAmnt")

ws.Activate

for each cell in rng

    if cell.value = "Total text" then 
        rowcount = cell.row
        exit for
    end if

next cell

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    相关资源
    最近更新 更多