Excel 是否有VBA使用自动填充对不同的数据集进行编号

Excel 是否有VBA使用自动填充对不同的数据集进行编号,excel,vba,Excel,Vba,我想对由空行分隔的数据集进行编号。我想一个自动填充VBA将是我所需要的,但似乎找不到任何特别适合我期待做的事情。我遇到的问题是,数据会发生变化,并且在每个序列中并不总是具有相同的精确行数。鉴于此,我希望A列(计数)根据C列(姓氏)中的信息增加,并在有空行时重新开始,直到工作表结束。我在下面举了一个我想要的例子作为最终结果。谢谢大家! Count ID Last Name First Name 1 344969 Test Test 2

我想对由空行分隔的数据集进行编号。我想一个自动填充VBA将是我所需要的,但似乎找不到任何特别适合我期待做的事情。我遇到的问题是,数据会发生变化,并且在每个序列中并不总是具有相同的精确行数。鉴于此,我希望A列(计数)根据C列(姓氏)中的信息增加,并在有空行时重新开始,直到工作表结束。我在下面举了一个我想要的例子作为最终结果。谢谢大家!

Count   ID   Last Name First Name           
1   344969  Test    Test
2           Test    Test
3   344971  Test    Test
4           Test    Test
5   344973  Test    Test
6   344974  Test    Test
7   344975  Test    Test
8           Test    Test
(Blank Row)         
1           Test 2  Test 3
2   200474  Test 2  Test 3
3   200475  Test 2  Test 3
4   200476  Test 2  Test 3
5           Test 2  Test 3
6   200478  Test 2  Test 3
7   200479  Test 2  Test 3
8           Test 2  Test 3
9           Test 2  Test 3
10  200482  Test 2  Test 3
(Blank Row)         
1   195959  Test 5  Test 6
2   195960  Test 5  Test 6
3   195961  Test 5  Test 6
4   195962  Test 5  Test 6
5   195963  Test 5  Test 6
6   195964  Test 5  Test 6
7   195965  Test 5  Test 6
8   195966  Test 5  Test 6
9   195967  Test 5  Test 6
10  195968  Test 5  Test 6

我尝试过条件格式,但没有成功。我还有其他几个宏,希望添加一个执行此功能的宏。

类似的功能可能适合您:

Sub countSomething()
将ws设置为工作表:设置ws=ActiveWorkbook.Sheets(“工作表名称”)
Dim lrow As Long:lrow=ws.Cells(Rows.Count,“B”).End(xlUp).Row'获取始终填充的列的最后一行
尺寸R等于长,X等于长:X=1
对于R=2至lrow
如果工作表function.CountA(ws.Cells(R,1).Resize(1,4))=0,则“空行”
X=1
其他的
ws.Cells(R,1)=X
X=X+1
如果结束
下一个R
端接头

您可以使用公式来实现这一点。你有什么理由需要VBA吗?我每次使用的数据都不一样。我有宏设置来执行组织电子表格的其他功能。我为其创建此模板的个人根本不了解excel,因此他们可以更轻松地按下按钮并自动完成此操作。我认为我想要VBA更多的是为了一致性。