首页 > 解决方案 > 如何创建一个宏来自动填充从顶行到最后一个相邻列的数据?

问题描述

我需要创建一个宏,它可以获取 F 到 I 列中的数据,并将其自动填充到 E 列中包含数据的最后一个单元格。下面的代码几乎可以完成我需要它做的事情。但是,我希望能够将此宏与 F:I 列中的不同数据一起使用

Dim lastrow As Long

lastrow = Range("e" & Rows.Count).End(xlUp).Row

Dim x(1 To 4) As Variant

With ThisWorkbook.Sheets("sheet1")
    x(1) = Range("f2")
    x(2) = Range("g2")
    x(3) = Range("H2")
    x(4) = Range("I2")

    .Range("F3:i3").Formula = x
    .Range("f3:i" & lastrow).FillDown
End With

标签: excelvba

解决方案


像这样:

With ThisWorkbook.Sheets("sheet1")
    lastrow = Range("E" & Rows.Count).End(xlUp).Row
    
    For i = 3 To lastrow
        .Range("F" & i).Formula = .Range("F2").Formula
        .Range("G" & i).Formula = .Range("G2").Formula
        .Range("H" & i).Formula = .Range("H2").Formula
        .Range("I" & i).Formula = .Range("I2").Formula
    Next i
    
End With

推荐阅读