用于数据类别的Excel VBA代码

时间:2015-10-08 08:12:33

标签: excel excel-vba vba

我有一个Excel文件,其中包含B列中的一些数据,现在我希望将数据分类为A列,如序列号,从1到5再次从1到5开始,直到数据结束,

例如格式如下

1   A
2   B
3   C
4   D
5   E
1   F
2   G
3   H
4   I
5   J
1   K
2   L
3   M
4   N
5   O

我没有上述任务的现有代码,请帮帮我。

3 个答案:

答案 0 :(得分:2)

您可以使用以下

  1. 将1放入Cell A1
  2. =IF(OFFSET(A2,-1,0)=5,0,OFFSET(A2,-1,0))+1放入单元格A2
  3. 双击单元格A2的下角,这将重复A列中所有单元格的功能
  4. 希望它能帮到你

答案 1 :(得分:1)

使用一些代码

Sub DoItGood()
    Dim rws As Long, rng As Range, t As Range

    Columns(1).ClearContents

    rws = Cells(Rows.Count, "B").End(xlUp).Row
    Set rng = Range("A1:A" & rws)

    x = 1
    For Each t In Range("A1:A5")
        t = t + x
        x = x + 1
    Next t

    Range("A1:A5").AutoFill Destination:=rng, Type:=xlFillCopy

End Sub

答案 2 :(得分:1)

您可以使用以下方法从行中向下获取1到n的重复数字列表:

=MOD((ROW(A1)-1),n)+1

取分区行号的整数余数(从0开始)和n。你将获得0,1,2,...,n-1,0,1,2,...,n-1,0,1 ......为此添加1。

在你的情况下,n是5:

=MOD((ROW(A1)-1),5)+1

向下填充。