Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA代码,以数字形式填充一个序列,该序列以统计范围内活动行数的序列开始_Vba_Loops - Fatal编程技术网

VBA代码,以数字形式填充一个序列,该序列以统计范围内活动行数的序列开始

VBA代码,以数字形式填充一个序列,该序列以统计范围内活动行数的序列开始,vba,loops,Vba,Loops,我希望有一个系列填写顺序取决于活动行的数量。最好的方法是什么?我下面的公式是在行中多加一个数字。我希望它从1增加到70,但它也增加了71。 您可以通过循环范围来缩短代码 Sub copy_sequenc_down() Dim cell As Range For Each cell in Range("A2", Cells(Rows.Count, 1).End(xlUp)) rowCounter = rowCounter + 1 cell.Val

我希望有一个系列填写顺序取决于活动行的数量。最好的方法是什么?我下面的公式是在行中多加一个数字。我希望它从1增加到70,但它也增加了71。


您可以通过循环范围来缩短代码

Sub copy_sequenc_down()
    Dim cell As Range

    For Each cell in Range("A2", Cells(Rows.Count, 1).End(xlUp))
        rowCounter = rowCounter + 1
        cell.Value = rowCounter
    Next
End Sub

一次设置它们的速度更快:

Set rng = Range("A2").Resize(Range("B2").CurrentRegion.Rows.Count - 1)
rng.Formula = "=ROW()-1"
rng.Value2 = rng.Value2     ' optional to change the formulas to values
或者更高级一点:

rng.Value2 = Evaluate("ROW(1:" & rng.Rows.Count & ")")

如果将范围格式化为表格,则使用会更容易一些:

[Table1[Column1]] = [Row(Table1[Column1])-1]


展示一个你所追求的和你迄今为止所尝试的例子?如果你在我的帖子中点击“电子表格”,你会看到我的工作表的图片。很酷的图片。但是没有代码尝试
rng.Value2 = Evaluate("ROW(1:" & rng.Rows.Count & ")")
[Table1[Column1]] = [Row(Table1[Column1])-1]
[Table1[Column1]] = [Row(Table1[Column1])-Row(Table1[#Headers])]