我目前在使用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,但希望能尽快好转!谢谢你的帮助
谢谢你的帮助
马
找到了解决这个问题的方法。
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