【发布时间】:2016-12-23 20:20:03
【问题描述】:
我对 VBA 很陌生。希望有人可以帮助我。非常感谢。
表 1(要复制到表 4 的数据)
A B C D
1 ID Header 2 Header 3 Orders
2 5000 455,476,497
3 5012 500
4 5015 502,503
表 2(数据)
A B C D ........ Q
1 Orders ID Header 2 Status Header 4
2 455 Closed
3 456 Open
4 476 Closed
5 497 Closed
表 3
A B C D
1 455 476 497
2 500
3 502 503
表 4(输出表)
A B C D
1 ID Header 2 Header 3 Orders
2 5000 455,476,497
3
任务:我需要检查工作表 3 中以下 ID 455、476 和 497 的状态。如果一行中所有 ID 的状态都已关闭,则将工作表 1 中的整行复制到工作表 4,如果不移动到下一行。
For a = 1 To Range("A1").End(xlDown).Row
For b = 1 To Range("A1").End(xlToRight).Column
Cells(1, b).Select
Selection.Copy
Sheets("Orders").Select
(Unsure what to put here)
Next b
Next a
我需要更多声望才能在此处发布图片。所以,发布链接 (只允许 2 个)
http://imgur.com/K8H2JhD、http://imgur.com/KjeIDVm、U0Z7mfm、qWOJ3VM
【问题讨论】:
-
指定要粘贴复制值的单元格。
-
我想将单元格 A1 中的表 3 中复制的单元格与表 1 中的标题一起粘贴。它有从 A1 到 Q1 的标题。
-
对不起,我有点困惑。您能否粘贴您的数据和预期输出的示例屏幕打印。如果不解释清楚一点。
-
我的理解是,Sheet1 的 id 对应于 sheet2 中存在的值,因此在 sheet1、500..etc 中会有一个 id 为 455 的条目,所以当你看到所有 455,476,497 的状态时已关闭,您需要复制对应于 455,476,497 的行(来自 sheet1 的 3 行)并粘贴到 sheet3。如果 502 已关闭且 503 已打开,则在同一行上,应该跳过它我的理解是否正确?
-
我已更新工作表详细信息。我想你明白我想做什么。检查 456,476,497,如果它们的所有状态都已关闭,则在工作表 1 中找到原始行并将其粘贴到工作表 4 中,包括工作表 1 中的标题。
标签: excel ms-access vba excel-2007