【问题标题】:Copying formula for dynamic range复制动态范围公式
【发布时间】:2015-09-12 09:04:03
【问题描述】:

我有一个宏可以将除法公式放在“d”行的单元格中,并在“d”行中一直复制相同的公式,直到最后一个单元格。 我正在尝试在其他列“E:L”中复制相同的公式,而不必分别重写每一列的整个代码

With wbk4.Sheets("USD")
Set clDest = .Range("D2")
Set clLookup = .Range("AA2")
End With

If clLookup.Offset(1, 0) <> vbNullString Then
rws = Range(clLookup, clLookup.End(xlDown)).Rows.Count
Set clDest = clDest.Resize(rws, 1)
End If
clDest.Formula = "=(" & clLookup.Address(False, False) & " / 3.68)"

这会为提到的“D”列执行正确的公式,直到最后一个单元格。 我需要的是在以下列“E”到“L”中复制它 仅从第二个单元格到最后一行。

我尝试通过下面的逻辑来做,但它有点太复杂并且不起作用,我相信还有另一种方法:)

With wbk4.Sheets("USD")
lrow = .Range("D" & .Rows.Count).End(xlUp).Row
.Range("D2" & lrow).Copy
wbk4.Sheets("USD").Range("E2").PasteSpecial Paste:=xlPasteFormulas
End With

【问题讨论】:

    标签: excel formula vba


    【解决方案1】:

    为了快速而肮脏的解决方案,只需更换

    Set clDest = clDest.Resize(rws, 1)
    

    Set clDest = clDest.Resize(rws, x)
    

    其中 x 是您要填充的列数。

    【讨论】:

      猜你喜欢
      • 2014-12-21
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多