Vba 循环遍历excel的每一列,并将公式向下拖动一个单元格

Vba 循环遍历excel的每一列,并将公式向下拖动一个单元格,vba,excel,excel-formula,Vba,Excel,Excel Formula,我是VBA新手,想知道如何使用它做一些事情。如下表所示,当数据随时间扩展时,我通常会为每列将公式向下拖动一个单元格。有没有一种快速有效的方法可以让我在每一列中循环自动执行下拉操作 代码假定公式位于列的单元格2中 Option Explicit Sub autofill() Dim rng As Range Dim ws As Worksheet Dim y Set ws = Sheets("Sheet1") 'range Set rng = ws.Range("A1:" & ws.

我是VBA新手,想知道如何使用它做一些事情。如下表所示,当数据随时间扩展时,我通常会为每列将公式向下拖动一个单元格。有没有一种快速有效的方法可以让我在每一列中循环自动执行下拉操作


代码假定公式位于列的单元格2中

Option Explicit

Sub autofill()
Dim rng As Range
Dim ws As Worksheet
Dim y

Set ws = Sheets("Sheet1")

'range
Set rng = ws.Range("A1:" & ws.Range("A1").End(xlToRight).Address)

'looping
For Each y In rng

'autofilling, note the split function retreiving the letter for the range
   ws.Range(Split(Cells(, y).Address, "$")(1) & "2").autofill Destination:=ws.Range(Split(Cells(, y).Address, "$")(1) & "2:" & Split(Cells(, y).Address, "$")(1) & ws.Range("A1").SpecialCells(xlCellTypeLastCell).Row)
Next y

End Sub

到目前为止有代码吗?您需要在列之间循环,然后自动填充到EndRow您使用的公式是什么?你尝试过什么?目前我刚刚在这个表上画了一个命名范围,我不确定逐列循环的语法等。抱歉,这张图片有点误导,因为前面还有几列。我在一个工作表中有几个这样的命名范围,我不确定在所有4个命名范围中循环是否有效。