用于将行从一个Excel工作表复制到另一个Excel工作表的VBA代码

时间:2014-03-25 17:20:50

标签: vba excel-vba excel

原始电子表格是从A列到E列。我只是从另一张表中粘贴了F列中的数字。我的新电子表格有1517行,来自A-H列。 F列(第2行至第420行)中的数字也在C列中。

我能够使用Excel的MATCH函数找到C列中数字的确切位置,即在C列中,我可以在哪一行找到F列中的数字?例如,数字" 12345678910"在单元格F2中,可以在行1049的单元格C1049中找到。我将这些位置编号放在我称为" index"的列中。

现在,我们的目标是编写一个vba代码来一次复制这些行。我正在尝试提取/复制到另一个工作表F列中的数字也在C列中,但我只想要原始工作表中的A到E列。复制索引列中的每个行号,但只复制列A-E。要清楚," 12345678910"也在细胞C1049中。 "从列A-E"复制行1049;并为索引列中的每个位置编号执行此操作。

我无法对电子表格进行排序,因为列A-E已链接。排序会改变信息。任何帮助,将不胜感激。

我的电子表格示例

1 个答案:

答案 0 :(得分:0)

Sub filterCopy()

   Dim ws1 As Worksheet
   Dim ws2 As Worksheet

   Set ws1 = Sheet1
   Set ws2 = Sheet2

   ws1.Range("A1:F1517").AutoFilter 6, "<>"
   ws1.Range("A1:F1517").SpecialCells(xlCellTypeVisible).Copy ws2.Range("A1")

End Sub