首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vba将listobject表复制到listobject表

vba将listobject表复制到listobject表
EN

Stack Overflow用户
提问于 2018-07-24 13:34:56
回答 1查看 3.5K关注 0票数 0

作为VBA的新手,我搜索了一些我可以结合起来尝试解决问题的代码。我正在构建一个“任务跟踪器”,它使用任务的目标表(TargetTbl)来显示动态甘特图。Ttbl可以手动修改,用于日常任务管理,还可以每年从重复出现的大头针的源表(SourceTbl)中进行更新,以减少工作量。我的目标是使用ListObjects将源表(SourceTbl)复制到目标表(TargetTbl)的底部。

以下代码错误-第-1行出现错误

代码语言:javascript
复制
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的表中的经验,复制的in公式,即使相同,也会引用源表,然后将其应用于目标表中的所有现有行。我发现在这种情况下,简单的剪切和粘贴宏并不能可靠地为我工作。

提前感谢你的帮助,约翰·H。

EN

回答 1

Stack Overflow用户

发布于 2018-07-24 14:18:57

你有一个变量没有命名:

代码语言:javascript
复制
Set TargetTblLastRow = TargetTbl.ListRows.Add

代码语言:javascript
复制
Set TargetTblLastRow = Ttbl.ListRows.Add

此外,最好使用正确的类型Dim TargetTblLastRow As ListRow

还有另一个Option Explicit优秀的例子...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51491134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档