我有3列A,B和B C.数据在B& B中。 C.我过滤C列以显示“仅限唯一记录”。现在我想在A列中为此过滤数据添加序列号。请注意,列表中的行数(以及过滤后的列表)不是固定的。 我知道函数(= SUBTOTAL(3,$ B $ 1:B2)-1)但这需要人工干预。我还found在未经过滤的列表上工作的VBA代码:
Sub FillSerialNumbers()
With Range("A3:A" & Range("B" & Rows.Count).End(xlUp).Row)
.Cells(1, 1).Value = 1
.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1, Trend:=False
End With
End Sub
但是我无法在已过滤的列表中实现它。任何帮助将不胜感激。
答案 0 :(得分:1)
这是另一种方式
Set rRng = Range("A3:A" & Range("B" & Rows.Count).End(xlUp).Row)
Dim cntr As Integer: cntr = 1
For Each cell In rRng
If cell.EntireRow.Hidden = False Then
Cells(cell.Row, 1).Value = cntr
cntr = cntr + 1
End If
Next
答案 1 :(得分:0)
作为公式解决方案,您可以尝试在单元格A3中复制下来:
=IF(AND(COUNTIF(C$3:C3,C3)=1,C3<>""),max(A$2:A2)+1,"")