0

我有一个 ID 列 (A) 和一列可变数据 (B),如下所示。

    A    B
    1    0.1
    2    0.1
    3    0.1
    4    0.2
    5    0.3
    6    0.3
    7    0.2
    8    0.3

我需要生成一个 VBA 代码,对这些数据进行分组,以便汇总表如下所示:

    Start ID    End ID    B Value
    1           3         0.1
    4           4         0.2
    5           6         0.3
    7           7         0.2
    8           8         0.3

我对 Excel VBA 相当陌生,并且无法编写可以执行此操作的短代码。我包含的数据也只是示例的第一部分,代码需要能够为任意数量的 ID 创建摘要。非常感谢任何帮助,谢谢。

4

1 回答 1

0

这段代码有点难看而且很脏,但它可以解决问题:

假设:

  • 您的值以 Cell 开头B2,它们对应的 ID 以A2
  • 您的汇总表开始于E2
  • 您的数据集少于 50 行

根据需要更改所有内容)

    Sub CreateSummaryTable()

    Dim cl As Range
    Dim StartCl As Range
    Dim TableRow As Integer

    Set StartCl = Range("B2")
    TableRow = 2

    For Each cl In Range("B2:B50")
        If cl.Value <> StartCl.Value Then
            Range("E" & TableRow).Value = StartCl.Offset(0, -1).Value
            Range("F" & TableRow).Value = cl.Offset(-1, -1).Value
            Range("G" & TableRow).Value = StartCl.Value

            Set StartCl = cl
            TableRow = TableRow + 1
        End If
    Next

    End Sub
于 2013-10-23T20:19:23.090 回答