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

このコードはやや醜く、まとまりが悪いですが、うまくいきます。

(仮定:

  • 値は CellB2で始まり、対応する 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 に答える