我一直在努力拼凑一个解决Excel和VBA问题的解决方案,我一直在努力工作。完全披露:我不是真正的开发人员,我真的很挣扎 - 即使它非常简单(!)我的问题的一个例子如下:
在上表中,我将从另一个工作簿中占据A列到C列的值粘贴到此工作簿的底部。我还在D和E列中有公式,它处理A到C列中的信息。
通常我会复制D列和E列第2行中的公式,然后将其粘贴到D列以处理粘贴到A到C的新值。然后,我刷新工作簿,因为我有Pivot表汇总列中的数据D和E.最后,我会将更改保存到工作簿。
我一直在尝试自动完成这个过程,并拼凑了一些事情来完成上述操作,但是当我运行我的项目时,我产生了'运行时错误:1004:应用程序定义的或对象定义的错误'。
以下任何帮助都将是一个巨大的帮助,非常感谢。
谢谢
mat
答案 0 :(得分:1)
我想知道是否有类似以下的内容,但您是否正在更换工作表并仍希望使用之前的ActiveCell?
Sub Paste_formula()
Dim r As Range
Dim CurrRow As Long
Dim LastRow As Long
With Sheets("Data")
CurrRow = ActiveCell.Row
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each r In .Range("A" & CurrRow & ":A" & LastRow)
If r.Value <> vbNullString Then r.Offset(0, 4) = r
Next r
End With
End Sub
答案 1 :(得分:0)
更改:
For Each r In .Range(CurrRow, LastRow)
为:
For Each r In .Range(.Cells(LastRow, "A").Cells(CurrRow, "D"))
根据您在代码的评论和当前代码中所写的内容。