excel - Excel AdvanceFilter vba copyToRange 仅适用于最顶层行
问题描述
我在工作簿中有一张“RM”表,在同一个工作簿中有另一张表“ST”。“RM”有表2,“ST”有表3
我使用以下代码从 RM 复制到另一张工作表“Andy” refName 是“Andy”中的条件,topRowName 是字符串“Andy!B1:M1”
Sheets("RM").Range("Table2[#All]").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range(refName), CopyToRange:=Range(topRowName), Unique:= _
False
到目前为止一切顺利,一切正常现在我想从“ST”也复制到“Andy”,但将它粘贴到“topRowName”下面几行,这样它就不会被覆盖,所以我做了一个偏移
Sheets("ST").Range("Table3[#All]").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range(refName), CopyToRange:=Range(topRowName).Offset(5), Unique:= _
False
但它会引发 1004 错误“提取范围的字段名称丢失或无效”
我试图像这样对 Range 中的值进行硬编码
Sheets("RM").Range("Table2[#All]").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range(refName), CopyToRange:=Range(Andy!B5:M5), Unique:= _
False
但它仍然不起作用。是因为粘贴位置有表格吗?我试图调整表格的大小,使其不会与新粘贴冲突,但它没有帮助。任何帮助表示赞赏
解决方案
谢谢大家,我找到了发生这种情况的原因的答案。我需要清除我要粘贴到的地方的内容。显然,如果已经存在某些内容,尤其是像表格这样的 ListObject,Excel 不喜欢将内容复制到范围内。我以为它只会写在上面。
推荐阅读
- c# - 阻止 HangFire 在不同服务器上多次运行作业?
- reactjs - 反应在检查器上显示的无效事件侦听器
- swift - Swift:startOfDay 函数返回 5:00 AM
- javascript - 如何计算数组的模式 - JavaScript?
- javascript - 在遍历数组中的对象时,是否可以使用 setInterval() 为 javascript 中的淡化文本设置动画?
- java - 如何计算一个数组直到某个整数(Java)?
- fonts - 如何获得字体的 x 高度?
- javascript - Firestore startAfter 方法无法将文档用作参考
- azure - 从 Windows docker 容器访问 Azure 实例元数据服务 (169.254.169.254)
- r - 如何从代码块内部呈现降价?