【发布时间】:2018-04-12 23:56:44
【问题描述】:
以下是我当前在 excel-VBA 中的代码。我需要将多个工作表上多个非连续列中的值复制并粘贴到另一个工作表上的单个列中。我正在为长期应付账款创建报告(不重要)。我有 5 个数据源或 5 个包含需要合并的原始数据的选项卡。例如:Sheet1 到 Sheet5 具有发票金额、国家和发票日期的列。它们是每张纸上完全不同的列。我需要将所有相似的数据移动到单独工作表的同一列中。下面的代码是一些基本级别的复制和粘贴语句。
有没有办法在单个语句中执行以下操作?如何在每个来源的数据末尾粘贴宏?例如:如果 sheet1 上的 A 列有 300 行要复制和粘贴,我如何才能从第 301 行开始粘贴下一组数据?这个范围是随机的,这个月我可以处理数千行数据,下个月可以处理数百行数据。
Sheets("RAW - Greenphire").Columns("Q").Copy
Sheets("RAW - Concatenated").Columns("A").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("O").Copy
Sheets("RAW - Concatenated").Columns("B").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("H").Copy
Sheets("RAW - Concatenated").Columns("C").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("J").Copy
Sheets("RAW - Concatenated").Columns("D").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("E").Copy
Sheets("RAW - Concatenated").Columns("E").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("A").Copy
Sheets("RAW - Concatenated").Columns("F").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("L").Copy
Sheets("RAW - Concatenated").Columns("G").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("K").Copy
Sheets("RAW - Concatenated").Columns("H").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("V").Copy
Sheets("RAW - Concatenated").Columns("I").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("W").Copy
Sheets("RAW - Concatenated").Columns("J").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("X").Copy
Sheets("RAW - Concatenated").Columns("K").PasteSpecial xlPasteValues
Sheets("RAW - Greenphire").Columns("Y").Copy
Sheets("RAW - Concatenated").Columns("L").PasteSpecial xlPasteValues
【问题讨论】: