2014-07-21 102 views
0

我有一个宏在行“d”中的一个单元格中放置一个除法公式,并在行“d”中一直复制相同的公式直到最后一个单元格。 我试图复制在其他列相同的公式“E:L”,而无需重写整个代码为每列seperately动态范围的复制公式

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 

回答

1

对于一个快速和肮脏的解决方案只需更换

Set clDest = clDest.Resize(rws, 1) 

Set clDest = clDest.Resize(rws, x) 

其中x是要填充的列数。

+0

没有办法!那很简单?非常感谢你做的这些。节省了很多时间 – Nadz