VBA编号循环

时间:2018-08-14 17:36:18

标签: vba loops

我正在尝试简化宏中用于对Excel特定列的行进行编号的代码。目前我正在使用

<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="root"></div>

宏已经将“ C”设置为一个变量,每次运行时都可以更改。我想简化代码,因为我不知道如何循环此代码以在每三列中重复一次。我已经尝试过For Loops,但是我是VBA的新手,无法运行该程序。循环执行此操作将对我有所帮助,因为我目前将同一代码更改了85个不同的时间来填充85个不同的列。例如,下一组是

With Sheet1.Range("V6")
.Value = 1
.AutoFill .Resize(V6 + C, 1), xlFillSeries
End With

有没有更简单的方法可以实现?

2 个答案:

答案 0 :(得分:2)

Offset开始,使用V6填充每三列的另一种方法。

Sub MyNumbering()
    Dim c As Long, i As Long

    c = 100

    For i = 0 To 84
        With Sheet1.Range("V6").Offset(, i * 3)
            .Value = 1
            .AutoFill .Resize(c), xlFillSeries
        End With
    Next i
End Sub

答案 1 :(得分:1)

这将从第V列开始每3列进行迭代,并发布第6行至C + 6结束的85列行号

Sub mynum()

Dim c As Long: c = 100

Dim j As Long
For j = 22 To 22 + 85 * 3 Step 3
    With Sheet1.Range(Sheet1.Cells(6, j), Sheet1.Cells(c + 6, j))
        .Formula = "=ROW(1:1)"
        .Value = .Value
    End With
Next j
End Sub