我希望excel根据单元格中的值生成行号。
For example:(output) Columns : A B C
1 xx xx
xx
2 yy yy
yy
3 zz zz
zz
zz
如果我删除了数字2,则3将变成2。
这是我现有的代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target.Offset(0, -1).Value = "" Then
Target.Offset(0, -1).Value = Application.WorksheetFunction.Max(Columns("A")) + 1
Else
Target.Offset(0, -1).Value = Application.WorksheetFunction.Max(Columns("A")) - 1
End If
End If
End Sub
Function Max_Each_Column(Data_Range As Range) As Integer
Dim TempArray() As Double, i As Long
If Data_Range Is Nothing Then Exit Function
With Data_Range
ReDim TempArray(1 To .Columns.Count)
For i = 1 To .Columns.Count
TempArray(i) = Application.Max(.Columns(i))
Next
End With
Max_Each_Column = TempArray
End Function
答案 0 :(得分:1)
这似乎是XY问题。但是我认为您正在尝试为C列中每个不同值的第一个实例建立索引,也许它是数据透视表?
将此公式放在单元格A1中并抄下来:
=IF(B1<>"",COUNTA(B$1:B1)+1,"")