VBA如何按列填值
时间: 2024-02-20 11:01:27 浏览: 33
在 VBA 中按列填值可以使用 `Range` 对象的 `Offset` 方法,以下是示例代码:
```vba
Sub FillColumn()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Set ws = ThisWorkbook.Worksheets("Sheet1") ' 更改为你的工作表名称
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 获取最后一行
For i = 2 To lastRow ' 从第二行开始循环
' 在 B 列填充 A 列的值
ws.Cells(i, "B").Value = ws.Cells(i, "A").Value
Next i
' 在 C 列填充序号 1, 2, 3...
For i = 2 To lastRow ' 从第二行开始循环
ws.Cells(i, "C").Value = i - 1
Next i
' 在 D 列填充公式
ws.Range("D2:D" & lastRow).Formula = "=SUM(A2:C2)"
End Sub
```
这将在 B 列填充 A 列的值,在 C 列填充序号,例如 1、2、3,以及在 D 列填充公式。在填充 C 列的序号时,我们将 `i - 1` 的结果赋给 C 列,这是因为我们从第二行开始循环,所以序号应该从 1 开始,而不是从 2 开始。在填充公式时,我们使用了 `Range` 对象的 `Formula` 属性,并将公式字符串赋给它。