【问题标题】:Group simultaneous data in a Summary Table using VBA使用 VBA 对汇总表中的同时数据进行分组
【发布时间】:2013-10-23 19:55:37
【问题描述】:

我有一个 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 创建摘要。非常感谢任何帮助,谢谢。

【问题讨论】:

    标签: vba excel count summary


    【解决方案1】:

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

    (假设:

    • 您的值以单元格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
    

    【讨论】:

      猜你喜欢
      • 2018-03-23
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多