【发布时间】:2018-12-31 15:13:11
【问题描述】:
对 VBA 有点陌生,我已经搜索了可以结合尝试解决问题的代码。我正在构建一个“任务跟踪器”,它使用任务的目标表 (TargetTbl) 来显示动态甘特图。 Ttbl 可以手动修改以用于日常任务管理,也可以每年从重复出现的大头钉的源表 (SourceTbl) 中更新以减少工作量。我的目标是使用 ListObjects 复制要添加到目标表 (TargetTbl) 底部的源表 (SourceTbl)。
以下代码错误 - 在第 -1 行发生错误
Sub UPDATEpa()
'dimensioning Source table (SourceTbl)
' Target table (TargetTbl)
' Target table add row to last row (TargetTblLastRow)
Dim SourceTbl As ListObject
Dim TargetTbl As ListObject
Dim TargetTblLastRow As Variant
On Error GoTo ErrHandler
Set SourceTbl = ActiveSheet.ListObjects("RepeatActivities")
Set TargetTbl = ActiveSheet.ListObjects("Activity")
Set TargetTblLastRow = Ttbl.ListRows.Add
SourceTbl.DataBodyRange.Copy
TargetTblLastRow.Range.PasteSpecial xlPasteValues
Exit Sub
ErrHandler:
MsgBox "An error has occured at line " & i - 1 & " or" & i, , "Error Macro"
End Sub
我可能会以错误的方式解决这个问题。根据其他帖子,我注意到需要以特定方式编写 VBA 以减少自动复制脚本的错误。我想知道是否需要检查和复制每个单元格/值?
此外,根据我手动粘贴到 ListObject 表中的经验,复制的公式即使相同,也会引用源表,然后将其应用于目标表中的所有现有行. 我发现在这种情况下,简单的剪切和粘贴宏对我来说并不可靠。
提前感谢您的帮助,John H
【问题讨论】:
-
嗨,约翰,欢迎来到 SO,如果您没有完成帖子,您可以随时按帖子标签下方的编辑。
标签: vba excel listobject