我有一张桌子如下图所示。我想比较A列和#34; Text"具有同一列中的下一个文本值的值。如果它们等于将索引i = 1(如果它们不同),则将下一个索引i + 1放入。 问题在于,除了保持空白的单元格(如图所示),每个列B单元格的右边索引。有人可以帮忙吗?
Sub Ma1()
Dim ws As Worksheet
Dim LastRow As Long
Dim i, n As Integer
Set ws = ActiveWorkbook.Sheets("Sheet2")
LastRow = Sheets("Sheet2").Range("A" & Sheets("Sheet2").Rows.Count).End(xlUp).Row
Column1 = Sheets("Sheet2").Range("A3:A" & LastRow)
n = 1
For i = 3 To LastRow
On Error Resume Next
If Range("A" & i) = Range("A" & i + 1) Then
Range("B" & i) = n
Else: n = n + 1
End If
Next i
End Sub
答案 0 :(得分:1)
你应该修改你的IF:
If Range("A" & i) = Range("A" & i + 1) Then
Range("B" & i) = n
Else
n = n + 1
Range("B" & i) = n-1
End If
答案 1 :(得分:0)
试试这个:
Sub Ma1()
Dim ws As Worksheet
Dim LastRow As Long
Dim i, n As Integer
Set ws = ActiveWorkbook.Sheets(1)
LastRow = Sheets(1).Range("A" & Sheets(1).Rows.Count).End(xlUp).Row
Column1 = Sheets(1).Range("A3:A" & LastRow)
n = 1
For i = 3 To LastRow
On Error Resume Next
If Range("A" & i) = Range("A" & i + 1) Then
Range("B" & i) = n
ElseIf Range("A" & i) <> Range("A" & i + 1) And _
Range("A" & i) = Range("A" & i - 1) Then
Range("B" & i) = n
n = n + 1
End If
Next i
End Sub