【问题标题】:VBA Macro - Automatic formulas autofill for multiple worksheets with data from one worksheetVBA 宏 - 使用来自一个工作表的数据自动填充多个工作表的公式
【发布时间】:2020-09-24 20:02:18
【问题描述】:

我目前在使用 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

代码在工作表 A 中运行良好。我的问题在工作表 B 中。我在 A2:E2 中有公式的 A 到 E 列。我想自动扩展工作表 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,但希望能尽快好起来!

感谢您的帮助!

MA

【问题讨论】:

    标签: excel vba excel-formula worksheet-function worksheet


    【解决方案1】:

    找到解决问题的方法:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 2015-10-14
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      相关资源
      最近更新 更多