循环遍历行复制并粘贴到VBA Excel中的另一个工作表

时间:2011-12-19 12:10:00

标签: excel-vba vba excel

我正在尝试复制和粘贴这些行 - 当时在VBA中有一行

Name    Col1            Col 2            Col 3
Tom     LTD - 617   LTD - 2236  LTD - 964
David   LTD - 289   LTD - 045   LTD - 055
Peter   LTD - 112   LTD - 687   LTD - 899

我需要为同一列中的每一行转置和粘贴值,如此

Tom
LTD - 617
LTD - 2236
LTD - 964

VBA中是否有可以帮助我实现此目的的循环?

我需要VBA版本如何执行此操作,因为我正在自动化此工作表,我的示例更复杂但我想要做的事情可以用上面的简单示例来说明。任何人都可以建议一个VBA解决方案 - 我需要了解你如何循环一行,然后将它们输出到不同的位置和位置。

1 个答案:

答案 0 :(得分:0)

如果您的源表与您的问题建议一样对称,如果这是一次性转换,我会使用公式来安排转置。如果其中任何一个都是不真实的,那么对于一个不充分的问题它将是-1。

我假设您的源表在单元格A1中开始,没有什么可以阻止我使用F列。

将以下内容粘贴到单元格F2:F5

=INDIRECT(ADDRESS((ROW(F2)-2)/4+2,1,4))
=INDIRECT(ADDRESS((ROW(F3)-3)/4+2,2,4))
=INDIRECT(ADDRESS((ROW(F4)-4)/4+2,3,4))
=INDIRECT(ADDRESS((ROW(F5)-5)/4+2,4,4))

这将将单元格F2:F5设置为第2行的值。根据需要将此4个单元格的块(重复4个单元格的块,而不是单元格F5)复制。您搜索的值将作为公式列在列中。

使用复制和粘贴特殊值,将您搜索的值设为