VBA - 两列值变化的新项目

时间:2014-06-25 06:17:34

标签: sql excel vba

我有八列数据。有500行。它们按列a和b排序。

所以它看起来像这样:

1111|1536|Data...
1111|1536|Data...
1111|1537|Data...
1112|1536|Data...
1112|1536|Data...
1112|1536|Data...
1112|1536|Data...
1112|1536|Data...
1112|1537|Data...

我在编写代码时遇到问题,在第a列和第b列的组合更改为不同的内容之后,第九列中的代码开始重新编号行。所以我希望它看起来像这样:

Item 1|1111|1536|Data...
Item 2|1111|1536|Data...
Item 1|1111|1537|Data...
Item 1|1112|1536|Data...
Item 2|1112|1536|Data...
Item 3|1112|1536|Data...
Item 4|1112|1536|Data...
Item 1|1112|1537|Data...
Item 2|1112|1537|Data...

我不能只根据这两列进行汇总,因为所有八个列都创建了一个独特的数据组合,我需要保留这种组合。

1 个答案:

答案 0 :(得分:0)

以下是我使用的内容:

Sub Item()
Dim ItemVar As String
Dim ColAVar As String
Dim ColBVar As String
Dim n As Integer
Dim i As Integer

ItemVar = "Item "
n = 1

ThisWorkbook.Sheets(1).Range("A1").Select
ActiveCell.EntireColumn.Insert
ActiveCell.Value = ItemVar & CStr(n)

For i = 1 To 499
    ColAVar = ActiveCell.Offset(0,1).Value
    ColBVar = ActiveCell.Offset(0,2).Value
    ActiveCell.Offset(1, 0).Select

    IF ActiveCell.Offset(0,1).Value = ColAVar And ActiveCell.Offset(0,2).Value = ColBVar Then
        n = n + 1
    ELSE
        n = 1
    End If

    ActiveCell.Value = ItemVar & CStr(n)
Next i
End Sub