0
我用下面的代码的工作,并在那里我有一个很难得到这个局面是在括号中的一块[CURRENT COLUMN]
VBA复制公式至最后一行接着下一列
我不能完全似乎让它使用当前使用的列来粘贴公式。
目标是从列K
到END
然后如果该列的第2行中存在公式,请将该公式下移并转到下一列。
Option Explicit
Sub recalcdash()
Dim oWkbk As Workbook
Dim oWkst As Worksheet
Dim oRng As Range
Dim LastCol As Long
Dim LastRow As Long
Dim StartCol As Integer
Dim StartRow As Long
StartCol = 11
Set oWkst = ActiveSheet
LastRow = oWkst.Range("A" & oWkst.Rows.Count).End(xlUp).Row
LastCol = oWkst.Cells(2, oWkst.Columns.Count).End(xlToLeft).Column
For Each oRng In Range(Cells(2, 11), Cells(2, LastCol))
If oRng.HasFormula Then
oRng.Copy
Range(Cells(2, StartCol), Cells(LastRow, [CURRENT COLUMN])).PasteSpecial (xlPasteFormulas)
End If
Next oRng
End Sub
'oRng.Column' ...?并且您可能还想更改对StartCol的引用? – SJR
当我尝试过一次,而'oRng'只返回了'1到n'。但是,我认为这是有效的。 – GregdeLima
请注意''Range'和'Cells'调用应该使用'oWkst'进行限定。否则,当您将'oWkst'设置为'ActiveSheet'以外的任何其他代码时,您的代码将会中断。 –