2014-06-25 53 views
1

我有八列數據。有500行。它們按列a然後b排序。VBA - 兩列值更改的新項目

所以它看起來像這樣:

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... 

我無法寫在第九個欄開始列和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... 

我不能骨料僅基於這兩個列,因爲所有八個數據創建一個獨特的組合,我需要保留該組合。

回答

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