VBA Macro - 使用一个工作表的数据自动填充多个工作表的自动公式。

问题描述 投票:0回答:1

我目前在使用VBA自动填充公式时遇到了一个问题。我在工作表A中使用了这段代码,以自动填写关于A列长度的S& T。

    Sub AutoFill()

Dim rc As Long

rc = Range("A" & Rows.Count).End(xlUp).Row
Range("S2:T2").AutoFill Range("S2:T" & rc)


End Sub

我的问题是在工作表B中,我有A列到E列,公式为A2:E2。我想自动扩展工作表B中的公式,但只针对工作表A中A列的长度。我想用一个宏来完成所有这些操作。我试过这样做,但没有用。

Sub AutoFill()

Dim rc As Long

rc = Range("A" & Rows.Count).End(xlUp).Row
Range("S2:T2").AutoFill Range("S2:T" & rc)
rc = Range("A" & Rows.Count).End(xlUp).Row
Range("WorksheetB!A2:WorksheetB!E2").AutoFill Range("WorksheetB!A2:WorksheetB!E" & rc)


End Sub

我知道这不是很好,但你可能会更理解我想实现的逻辑。**我还没有掌握VBA,但希望能尽快好转!谢谢你的帮助

谢谢你的帮助

excel vba excel-formula worksheet-function worksheet
1个回答
0
投票

找到了解决这个问题的方法。

Sub AutoFill()

Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
Dim sh4 As Worksheet
Dim sh5 As Worksheet
Dim rc As Long
'Dim wkb As Workbook

'Set wkb = Workbooks("Ontario-NewRecurrentCustomersV2") '-> best to call workbooks by name, as opposed to "ActiveWorkbook", also best to set it to object

With ActiveWorkbook

    Set sh1 = .Sheets("CleanDataWeek")
    Set sh2 = .Sheets("CleanDataWeek(P-1)")
    Set sh3 = .Sheets("CalculatedDataWeek")
    Set sh4 = .Sheets("CalculatedDataWeek(P-1)")
    Set sh5 = .Sheets("RawData")

    rc = sh5.Range("A" & Rows.Count).End(xlUp).Row
    sh5.Range("S2:T2").AutoFill sh5.Range("S2:T" & rc)

    rc = sh5.Range("A" & Rows.Count).End(xlUp).Row
    sh1.Range("A2:E2").AutoFill sh1.Range("A2:E" & rc)

    rc = sh5.Range("A" & Rows.Count).End(xlUp).Row
    sh2.Range("A2:E2").AutoFill sh2.Range("A2:E" & rc)

    rc = sh5.Range("A" & Rows.Count).End(xlUp).Row
    sh3.Range("A2:F2").AutoFill sh3.Range("A2:F" & rc)

    rc = sh5.Range("A" & Rows.Count).End(xlUp).Row
    sh4.Range("A2:F2").AutoFill sh4.Range("A2:F" & rc)

End With

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.